Как я могу определить, содержит ли строка определенное слово? Например, у меня есть строка ниже, которая гласит:
@"Here is my string."
Я хотел бы знать, могу ли я обнаружить слово в строке, например, «is».
Как я могу определить, содержит ли строка определенное слово? Например, у меня есть строка ниже, которая гласит:
@"Here is my string."
Я хотел бы знать, могу ли я обнаружить слово в строке, например, «is».
rangeOfString
.Ответы:
Вот как бы я это сделал:
Вы можете легко добавить эту категорию в
NSString
:источник
containsString
в NSString появился новый метод .Используйте следующий код для сканирования слова в предложении.
источник
В iOS8 теперь можно использовать:
Здесь есть интересный пост о том, как «модернизировать» его до iOS7: http://petersteinberger.com/blog/2014/retrofitting-containsstring-on-ios-7/
источник
Я рекомендую использовать NSLinguisticTagger . Мы можем использовать это для поиска
Here is my string. His isn't a mississippi isthmus. It is?
Это выводит:
Он игнорирует
His
mississippi
иisthmus
даже идентифицируетis
внутриisn't
.источник
Надеюсь, это поможет вам, .. добавьте эту строку в файл .m или создайте отдельный класс и интегрируйте этот код.
источник
В iOS 8 и Swift мы можем использовать метод localizedCaseInsensitiveContainsString
источник
Полное решение сначала будет сканировать строку (без добавленных пробелов), а затем проверять, является ли непосредственно предшествующий символ пустым или началом строки. Аналогичным образом проверьте, является ли следующий за ним символ пустым или концом строки. Если оба теста пройдены, значит у вас совпадение. В зависимости от ваших потребностей вы можете также проверить
,
,.
,()
и т.д.Альтернативный подход, конечно же, состоит в том, чтобы разбить строку на слова и проверить каждое слово по отдельности.
источник