【发布时间】:2018-06-16 16:00:57
【问题描述】:
我得到一个这样的字符串:
var string = "AAAAAAABBBCCCCCCDD"
并且喜欢将字符串拆分成这种格式的数组(same characters --> same group)使用正则表达式:
Array: "AAAAAAA", "BBB", "CCCCCC", "DD"
这是我目前得到的,但我无法真正让它发挥作用。
var array = [String]()
var string = "AAAAAAABBBCCCCCCDD"
let pattern = "\\ b([1,][a-z])\\" // mistake?!
let regex = try! NSRegularExpression(pattern: pattern, options: [])
array = regex.matchesInString(string, options: [], range: NSRange(location: 0, length: string.count))
【问题讨论】:
-
请注意,将
string.count传递给 NSRange 是错误的,并且可能导致包含“扩展字形簇”的字符串出现错误结果或崩溃。