【发布时间】:2018-12-29 14:03:31
【问题描述】:
如何在 swift 4 中对字符串进行子串化。
我想转换:
“你好,世界!”
进入:
“你好”
【问题讨论】:
如何在 swift 4 中对字符串进行子串化。
我想转换:
“你好,世界!”
进入:
“你好”
【问题讨论】:
Swift 没有内置函数来简化此操作,因此我编写了一个简单的扩展来获得与其他语言相同的功能,例如具有非常简单的子字符串函数的 python。
扩展
在你的班级之外,为字符串添加这个扩展。
extension String {
func substring(start: Int, range: Int) -> String {
let characterArray = Array(self)
var tempArray:[Character] = []
let starting = start
let ending = start + range
for i in (starting...ending) {
tempArray.append(characterArray[i])
}
let finalString = String(tempArray)
return finalString
}
}
用法
let myString = "Hello, World!"
print(myString.substring(start: 0, range: 4))
打印出来:
“你好”
工作原理
扩展的工作原理是将字符串转换为一个单独的字符数组,然后创建一个循环,将所需的字符附加到一个由函数参数确定的新字符串中。
感谢您的光临。我希望苹果尽快将这个基本功能添加到他们的语言中!上面的代码有点乱,如果有人想清理它,请随意!
【讨论】: