【发布时间】:2018-11-07 09:36:38
【问题描述】:
我有这个字符串:
let string = "Users: [Ricky], [Bob], [Jane]"
我正在尝试用括号括起来的单词创建一个字符串 Array(例如["Ricky","Bob","Jane"])。
问题:如何对结果进行子串化和迭代?
正则表达式是要走的路吗?
let string = "Users: [Ricky], [Bob], [Jane]"
let pattern = "/[(.*?)]/"
let regex = try! NSRegularExpression(pattern: pattern)
let result = regex.matches(in:string, range:NSMakeRange(0, string.utf8.count))
【问题讨论】:
-
试试
let pattern = "(?<=\\[).*?(?=\\])" -
试试
let pattern = "\[(.*?)\]"。NSRange也计入 UTF-16 代码单元,所以NSMakeRange(0, string.utf16.count) -
使用我的正则表达式和来自here的代码。
-
应该注意的是,副本只有两个(低票)答案适用于这个问题,而且它们都不能帮助这个问题的 OP 确定正确的正则表达式需要是什么。
-
@rmaddy,MartinR 的回答提供了除模式外所需的一切。我重新打开它是因为您的模式确实有效,您的所有代码也是如此。
标签: arrays swift regex string swift3