как найти диапазон точного слова, повторяемого в строке (с учетом регистра) - PullRequest
0 голосов
/ 08 декабря 2018

Я хочу найти 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.

Может кто-нибудь помочь мне решить эту проблему

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...