正则表达式得到 "words" 由 space(s) 分隔?

regex to get "words" delimited by space(s)?

要从由 space(s) 分隔的字符串中获取 "words",正则表达式(将在 IOS、"NSRegularExpression" 中使用)是什么,即可以是“”,或“”,或“”等作为分隔符。

因此:

"26:43:33 S     153:02:51   E"

会给:

1-"26:43:33"
2-"S"
3-"153:02:51"
4-"E"

So therefore:

"26:43:33 S     153:02:51   E"

Would give:

1-"26:43:33"
2-"S"
3-"153:02:51"
4-"E"

因此,如果您要为此使用正则表达式,则需要查找所有连续的 not-space。像这样:

let s = "26:43:33 S     153:02:51   E" as NSString
let pattern = "[^ ]+"
let reg = try! NSRegularExpression(pattern: pattern, options: [])
let matches = reg.matchesInString(s as String, options: [], range: NSMakeRange(0, s.length))
let result = matches.map {s.substringWithRange([=12=].range)}
// result is: ["26:43:33", "S", "153:02:51", "E"]

作为正则表达式的替代方法,我建议在您的字符串上使用 split 方法。

let string = "26:43:33 S     153:02:51   E"
let words = string.characters.split { [=10=] == " " }.map { String([=10=]) }

因为对字符属性调用split会return一个Character类型的数组,所以需要用map方法进行转换回到字符串。 map 将对集合的每个元素执行闭包。在这种情况下,我们只是使用它将每个元素转换为 String