swift中,想要把:
“wang ba”
分割为:
字符串数组
“wang”, “ba”
搜:
swift split string to array
参考:
最后自己实现了:
//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 splitSingleStrToStrArr(strToSplit:String, seperatorStr:String) -> [String] {
print("strToSplit=\(strToSplit), seperatorStr=\(seperatorStr)")
var splitedStrArr:[String] = [String]()
if !seperatorStr.isEmpty {
let seperatorChar:Character = splitSingleStrToCharArr(seperatorStr)[0]
splitedStrArr = strToSplit.characters.split(seperatorChar).map(String.init)
}
else
{
//split string(without space) into every single char as string
let splitedCharArr:[Character] = splitSingleStrToCharArr(strToSplit)
for eachChar in splitedCharArr {
splitedStrArr.append(String(eachChar))
}
}
print("splitedStrArr=\(splitedStrArr)")
return splitedStrArr
}调用效果:
/*
* splitSingleStrToStrArr demo
*/
let noneSeperatorStr:String = ""
let strWithoutSpace:String = "中间没有空格单个字符串"
let splitedStrArr_withoutSpace:[String] = splitSingleStrToStrArr(strWithoutSpace, seperatorStr: noneSeperatorStr)
print("splitedStrArr_withoutSpace=\(splitedStrArr_withoutSpace)") //["中", "间", "没", "有", "空", "格", "单", "个", "字", "符", "串"]
let spaceSeperatorStr:String = " "
let stringContainingSpace:String = "中 间 有 空 格 的 字 符 串 "
let splitedStrArr_containingSpace:[String] = splitSingleStrToStrArr(stringContainingSpace, seperatorStr: spaceSeperatorStr)
print("splitedStrArr_containingSpace=\(splitedStrArr_containingSpace)") //["中", "间", "有", "空", "格", "的", "字", "符", "串"]最后演化为:
extension String {
//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
}
}示例代码:
/*
* 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)") //["中", "间", "有", "空", "格", "的", "字", "符", "串"]注:这类函数已整理至我的库:
转载请注明:在路上 » [已解决]swift分割字符串为字符串数组