从值字符串中获取值
Getting values out of string of values
我的应用程序可以从 QR 码中读取此字符串,每个代码的值数量不同
示例:
"<23><423><12><54>"
我想获取由 < & > 分隔的每个值
我想到了一个打印出每个值的循环。但我不太确定如何搜索这些值。
提前致谢
一个可能的解决方案:
let string = "<23><423><12><54>"
let nsString = string as NSString // (Works better with NSRegularExpression)
let regex = NSRegularExpression(pattern: "<(\d+)>", options: nil, error: nil)!
regex.enumerateMatchesInString(nsString, options: nil, range: NSMakeRange(0, nsString.length)) {
(result, _, _) -> Void in
let code = nsString.substringWithRange(result.rangeAtIndex(1))
println(code)
}
"<(\d+)>"
是匹配一个或多个的正则表达式模式
<...>
中的数字和括号定义了 "capture group"
然后用 result.rangeAtIndex(1)
.
提取
我的应用程序可以从 QR 码中读取此字符串,每个代码的值数量不同
示例:
"<23><423><12><54>"
我想获取由 < & > 分隔的每个值
我想到了一个打印出每个值的循环。但我不太确定如何搜索这些值。
提前致谢
一个可能的解决方案:
let string = "<23><423><12><54>"
let nsString = string as NSString // (Works better with NSRegularExpression)
let regex = NSRegularExpression(pattern: "<(\d+)>", options: nil, error: nil)!
regex.enumerateMatchesInString(nsString, options: nil, range: NSMakeRange(0, nsString.length)) {
(result, _, _) -> Void in
let code = nsString.substringWithRange(result.rangeAtIndex(1))
println(code)
}
"<(\d+)>"
是匹配一个或多个的正则表达式模式
<...>
中的数字和括号定义了 "capture group"
然后用 result.rangeAtIndex(1)
.