swift中想要把字符串分割为字符数组
搜:
swift split string to char array
参考:
最后写成:
//split string into character array
func splitSingleStrToCharArr(strToSplit:String) -> [Character] {
print("strToSplit=\(strToSplit)") //strToSplit=周杰伦
let splitedCharArr:[Character] = Array(strToSplit.characters)
print("splitedCharArr=\(splitedCharArr)") //splitedCharArr=["周", "杰", "伦"]
return splitedCharArr
}即可。
用法:
/*
* splitSingleStrToCharArr demo
*/
let stringToSplit:String = "一个字符串"
let spiltedCharArr:[Character] = splitSingleStrToCharArr(stringToSplit)
print("spiltedCharArr=\(spiltedCharArr)") //["一", "个", "字", "符", "串"][后记]
后来又演化为:
extension String {
//split string into character array
//周杰伦 -> ["周", "杰", "伦"]
func splitToCharArr() -> [Character] {
let splitedCharArr:[Character] = Array(self.characters)
return splitedCharArr
}
//split string into string array, normally seperator is white space
//if origin string not containing white space, then pass the empty string here, will split to every single char as string
func splitToStrArr(seperatorStr:String = "") -> [String] {
guard self.notEmpty else {
return [String]()
}
//print("strToSplit=\(strToSplit), seperatorStr=\(seperatorStr)")
var splitedStrArr:[String] = [String]()
if seperatorStr.notEmpty {
let seperatorChar:Character = seperatorStr.splitToCharArr()[0]
splitedStrArr = self.characters.split(seperatorChar).map(String.init)
} else {
//split string(without space) into every single char as string
let splitedCharArr:[Character] = self.splitToCharArr()
for eachChar in splitedCharArr {
splitedStrArr.append(String(eachChar))
}
}
//print("splitedStrArr=\(splitedStrArr)")
return splitedStrArr
}
}示例用法:
/*
* splitToCharArr demo
*/
let stringToSplit:String = "一个字符串"
let spiltedCharArr:[Character] = stringToSplitsplitToCharArr.()
print("spiltedCharArr=\(spiltedCharArr)") //["一", "个", "字", "符", "串"]
/*
* splitToStrArr demo
*/
//let noneSeperatorStr:String = ""
let strWithoutSpace:String = "中间没有空格单个字符串"
//let splitedStrArr_withoutSpace:[String] = strWithoutSpace.splitToStrArr(noneSeperatorStr)
let splitedStrArr_withoutSpace:[String] = strWithoutSpace.splitToStrArr()
print("splitedStrArr_withoutSpace=\(splitedStrArr_withoutSpace)") //["中", "间", "没", "有", "空", "格", "单", "个", "字", "符", "串"]
let spaceSeperatorStr:String = " "
let stringContainingSpace:String = "中 间 有 空 格 的 字 符 串 "
let splitedStrArr_containingSpace:[String] = stringContainingSpace.splitToStrArr(spaceSeperatorStr)
print("splitedStrArr_containingSpace=\(splitedStrArr_containingSpace)") //["中", "间", "有", "空", "格", "的", "字", "符", "串"]注:更多其他函数,已整理至我的:
https://github.com/crifan/CrifanString
转载请注明:在路上 » [已解决]swift把字符串分割为字符数组