在Swift编程语言中获取一个字符串的第N个字符
在这篇文章中,你将学习如何获得一个字符串的第N个字符。
你将使用index()方法来获得一个字符串的第N个字符。这个方法将给你所给字符串的位置索引。
如何使用Index()方法
让我们看一个如何使用index()方法的例子
算法
第1步 – 准备一个输入字符串。
第2步 – 用目标偏移量调用index()方法。
第3步 – 使用位置索引作为输入字符串的下标。
第4步 – 存储第N个字符。
示例
import Foundation
let string = "Tutorial Points"
let characterIndex = 4
let index = string.index(string.startIndex, offsetBy:
characterIndex)
let nthCharacter = string[index]
print("Character at \(characterIndex) is \(nthCharacter)")
输出
Character at 4 is r
这里有一些推荐的方法来获取一个字符串的第N个字符。
如何使用字符串扩展?
示例
import Foundation
extension String {
subscript(_ characterIndex: Int) -> Character {
return self[index(startIndex, offsetBy: characterIndex)]
}
}
let string = "Tutorial Points"
let characterIndex = 9
let nthCharacter = string[characterIndex]
print("Character at \(characterIndex) is \(nthCharacter)")
输出
Character at 9 is P
解释
在这个例子中,我们创建了一个简单的扩展来获取给定索引处的字符。在subscript()函数中,我们使用index()函数,参数为characterIndex。
例如,如果你想在一个索引处获得一个字符串而不是一个字符。你必须修改扩展中的代码,如下所示
import Foundation
extension String {
subscript(_ characterIndex: Int) -> Self {
return String(self[index(startIndex, offsetBy:
characterIndex)])
}
}
在上面的例子中,下标函数返回一个字符串而不是一个字符。
结论
获取一个字符串的第N个字符是Swift中的一个常见做法。很多时候,你会被要求获取一个字符串的字符。