我有一个字符串,我想在该字符串中找到每个用户选择的单词的位置。例如,如果用户选择“我的”,我想每次在字符串中找到“我的”。目前我正在使用:
var range = stringContent?.rangeOfString("my")
println(range?.location)
不幸的是,这只给出了字符串中第一个“my”的位置。我如何找到所有“我的”的位置?谷歌并没有太大帮助——所有的建议和例子都找到了这个词的第一个实例。我想要所有实例。
感谢您的帮助!
最佳答案
这基本上是@Fogmeister 建议的,但是使用了 NSString 的内置方法 enumerateSubstringsInRange(_:options:usingBlock:) .它将为您提供“我的”出现的一系列范围。
var rangesOfMatches = [NSRange]()
someString.enumerateSubstringsInRange(NSMakeRange(0, someString.length), options: .ByWords) { (substring, substringRange, _, _) in
if substring == "my" {
rangesOfMatches.append(substringRange)
}
}
关于macos - 搜索字符串以查找单词的重复实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28685420/