Я хочу найти nsrange слова, которое повторяется в строке, его поиск должен быть чувствительным к регистру.
например:
основная строка let str = "Привет, satheesh, как дела, Хеллоу, satheesh1, ты нашел ответ для satheesh ".
Теперь я хочу найти диапазоны слова" satheesh ".. Ожидаемое число nsrange должно быть 2 .ie [nsrange (location: 3, длина: 8), [nsrange (другое слово satheesh)] он не должен принимать диапазон satheesh1, потому что satheesh! = Satheesh1.
Я использую приведенный ниже код
extension String {
func ranges(of substring: String, options: CompareOptions = [], locale: Locale? = nil) -> [Range<Index>] {
var ranges: [Range<Index>] = []
while let range = self.range(of: substring, options: options, range: (ranges.last?.upperBound ?? self.startIndex)..<self.endIndex, locale: locale) {
ranges.append(range)
}
return ranges
}
}
, но проблема с этим кодом заключается в поиске диапазона с учетом satheesh == satheesh1, поэтому я получаю диапазоны satheesh и satheesh.
Может кто-нибудь помочь мне решить эту проблему