正则表达式是什么(在IOS中使用," NSRegularExpression")来获取"单词"来自由空格分隔的字符串,即可以是" ",或" ",或" "等作为划界。
因此:
"26:43:33 S 153:02:51 E"
会给:
1-"26:43:33"
2-"S"
3-"153:02:51"
4-"E"
答案 0 :(得分:2)
作为正则表达式的替代方案,我建议在字符串上使用split
方法。
let string = "26:43:33 S 153:02:51 E"
let words = string.characters.split { $0 == " " }.map { String($0) }
因为在characters属性上调用split
将返回Character
类型的数组,我们需要使用map
方法将它们转换回字符串。 map
将对集合的每个元素执行闭包。在这种情况下,我们只是使用它将每个元素转换为String
答案 1 :(得分:1)
因此:
"26:43:33 S 153:02:51 E"
会给:
1-"26:43:33" 2-"S" 3-"153:02:51" 4-"E"
因此,如果您打算使用正则表达式,那么您需要查找所有连续的非空间延伸。像这样:
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($0.range)}
// result is: ["26:43:33", "S", "153:02:51", "E"]