Swift 程序从给定字符串中获取字符
在 Swift 中,我们可以轻松地借助字符各自的索引值从给定字符串中获取字符。为了获取指定字符的索引,Swift 提供了一个名为 index() 的内置函数。此函数将返回与指定索引距离为指定值的索引。
示例
Input: String = "Ram got first place"
index = 5 Output: "o"
此处,给定的索引值为 5,因此结果字符为"o"。
语法
func index(x:String.index, offsetBy: Int)
此处,x 是序列的有效索引,offsetBy 是到偏移量 x 的有效距离。并将返回一个与索引 x 距离偏移的索引。
算法
步骤 1 - 创建一个字符串。
步骤 2 - 声明一个变量来存储所需字符的索引。
步骤 3 - 现在检查给定的索引是否在有效范围内。
步骤 4 - 如果是,则使用 index() 函数查找准确的索引以访问指定位置的字符,然后使用下标符号打印该字符。
步骤 5 - 如果不是,则显示错误消息。
示例 1
在下面的 Swift 程序中,从给定的字符串中获取一个字符。为此,我们首先创建一个字符串,然后指定所需字符的索引。然后检查给定的索引是否在范围内。如果是,则使用 index() 函数找到该字符的准确索引,并使用下标符号显示结果字符。如果不是,则打印一条错误消息。
import Foundation
import Glibc
let inputString = "Birds fly in the morning"
let charIndex = 4
if charIndex < inputString.count {
let charOutput = inputString[inputString.index(inputString.startIndex, offsetBy: charIndex)]
print("Character at index \(charIndex) is \(charOutput)")
} else {
print("Recheck your index it is out of range")
}
输出
Character at index 4 is s
示例 2
在下面的 Swift 程序中,我们将从给定的字符串中获取一个字符。为此,我们首先创建一个字符串,然后指定所需字符的索引。然后,我们使用 index() 函数计算该字符的准确索引。此函数接受两个参数:起始索引 (enteredString.StartIndex) 和索引移动的偏移量。之后,我们将使用下标符号从指定的索引处获取字符并显示输出。
import Foundation
import Glibc
let enteredString = "This is Swift tutorial"
let charIndex = 8
let resCharIndex = enteredString.index(enteredString.startIndex, offsetBy: charIndex)
let myChar = enteredString[resCharIndex]
print("Character at index \(charIndex) is \(myChar)")
输出
Character at index 8 is S
示例 3
在下面的 Swift 程序中,使用 prefix() 和 suffix() 方法从给定字符串中获取一个字符。为此,我们首先创建一个字符串,然后指定所需字符的索引。然后,我们将使用 prefix() 方法从字符串的开头提取到给定索引的子字符串,然后使用 suffix() 方法提取包含最后一个字符的子字符串。之后,我们将使用 first 属性从子字符串中获取第一个字符并相应地显示输出。
import Foundation
import Glibc
var StringVal = "Meeta is cooking Paratha"
let charIndex = 4
if let char = StringVal.prefix(charIndex + 1).suffix(1).first
{
print("The character at \(charIndex)th Index is '\(char)'.")
} else {
print("Invalid character index. Try again")
}
输出
The character at 4th Index is 'a'.
结论
以上就是我们如何从给定的字符串中获取字符的方法。如果给定的索引在有效范围内,则两种方法都会返回准确的结果。如果不存在,则会报错。如果没有索引值,则无法从给定的字符串中获取字符,因此请务必指定有效的索引。否则会报错。