arrays - 在 Swift 中拆分具有多个字符的字符串

标签 arrays string swift split separator

我已经阅读了其他线程,但它们似乎只处理单个字符定界符,而且我认为 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/

相关文章:

ios - 如何在 SwiftUI 中基于绑定(bind)枚举更改 View 的样式?

ios - AudioKit Swift 5 - 如何在启动/停止 AKFMOscillator 时停止尖叫声?

javascript - 如何在 Javascript 中使用 JSON 进行多维搜索?

java - Java中通过引用删除对象

javascript - jQuery 不会正确地发布包含数组作为其属性之一的 JSON

php - 使用 shell 样式的通配符(例如,*)匹配字符串

Java 正则表达式不工作 - 为什么?

javascript - 使用 Angular 将 HTTP 数组值从服务导入到组件中

string - Rcpp CharacterVector:为什么单个元素不是 std::strings?

ios - 带偏移的 PureLayout 中心