最近项目中需要把服务器返回的一串字符串分割成单个字符的数组来使用, 比如将
"abcdefg"
分割成
["a","b","c","d","e","f","g"]
看到网上搜到的很多人的做法是:
func subStringforLetter(text: String) -> [String] {
var array: [String] = []
var string = text as NSString
for var idx in 0..<string.length {
let str = string.substring(to: 1)
string = string.substring(from: 1) as NSString
idx = 0
array.append(str)
if text.count == 1 {
array.append(text)
}
}
return array
}
虽然得到的结果是正确的, 但感觉是拿 OC 代码直接翻译过来的, 其实在 Swift 里, 实现起来超级简便, 这里我是写在了 String
的 Extension
里:
public var charactersArray: [Character] {
return Array(self)
}
调用:
"abcdefg".charactersArray
就这么简单.