我有一个字符串,例如“ ab ad adk fda kla kad ab ab kd”。我想获取所有范围的ab。(这里ab位于3位置,所以我应该获得3范围)。在正常情况下,我的代码工作正常,但是如果搜索文本为“。”,那么我得到错误的结果] >
do {
let regEx = try NSRegularExpression(pattern: searchText, options: NSRegularExpressionOptions.CaseInsensitive)
let matchesRanges = regEx.matchesInString(attributedText.string, options:[], range: NSMakeRange(0, attributedText.string.length))
for rng in matchesRanges {
let wordRange = rng.rangeAtIndex(0)
}
} catch {
...
}
我有一个字符串,例如“ ab ad adk fda kla kad ab ab kd”。我想获得所有范围的ab(这里ab在3位置,所以我应该得到3范围)。在正常情况下,我的代码可以正常工作,但是...
以下解决方案使用本机Swift 4函数range(of:, options:, range:, locale:)
):
我建议这样一种解决方案:
您正在使用正则表达式,因此您需要注意具有特殊含义的字符-.
仅是其中之一。
您可以通过以下代码获取特定字符串的出现次数:
Swift 5: