我已经阅读了其他线程,但它们似乎只处理单个字符定界符,而且我认为 Playground 对我来说是崩溃的,因为我使用了多个字符。
"[0, 1, 2, 1]".characters
.split(isSeparator: {[",", "[", "]"].contains($0)}))
.map(String.init) //["0", " 1", " 2", " 1"]
有点管用,但我想使用“,”而不是“,”。显然我可以使用 [",", "", "[", "]"] 并且这样会抛出空格,但是当我只想删除字符串模式时呢?
简而言之:如何将 Swift 字符串与其他更小的字符串分开?
最佳答案
swift 5
let s = "[0, 1, 2, 1]"
let splitted = s.split { [",", "[", "]"].contains(String($0)) }
let trimmed = splitted.map { String($0).trimmingCharacters(in: .whitespaces) }
swift 2
let s = "[0, 1, 2, 1]"
let charset = NSCharacterSet.whitespaceCharacterSet()
let splitted = s.characters.split(isSeparator: {[",", "[", "]"].contains($0)})
let trimmed = splitted.map { String($0).stringByTrimmingCharactersInSet(charset) }
结果是一个没有多余空格的字符串数组:
["0", "1", "2", "1"]
关于arrays - 在 Swift 中拆分具有多个字符的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36747371/