Как найти в файле нужное слово c

Обновлено: 07.07.2024

Существует две основные стратегии для поиска текста в строках. Методы класса String выполняют поиск определенного текста. Регулярные выражения используются для поиска шаблонов в тексте.

Тип string является псевдонимом класса System.String и реализует ряд полезных методов для поиска содержимого строк. Среди них: Contains, StartsWith, EndsWith, IndexOf, LastIndexOf. Класс System.Text.RegularExpressions.Regex предоставляет широкие возможности словаря для поиска шаблонов в тексте. В этой статье вы узнаете, как применять эти методы и как выбрать наилучший способ в зависимости от ваших потребностей.

Содержит ли строка текст?

Методы String.Contains, String.StartsWith и String.EndsWith выполняют поиск определенного текста в строке. В следующем примере показано использование каждого из этих методов, а также сценарии поиска без учета регистра:

В предыдущем примере показано важное правило использования этих методов. По умолчанию поиск выполняется с учетом регистра. Чтобы выполнить поиск без учета регистра, используйте значение перечисления StringComparison.CurrentCultureIgnoreCase.

Где искомый текст находится в строке?

Методы IndexOf и LastIndexOf также ищут текст в строках. Эти методы возвращают расположение текста, поиск которого выполняется. Если текст не найден, возвращается -1 . В следующем примере происходит поиск первого и последнего вхождения слова "methods" и отображение текста, находящегося между ними.

Поиск определенного текста с помощью регулярных выражений

Класс System.Text.RegularExpressions.Regex можно использовать для поиска строк. Такой поиск может отличаться по сложности от самых простых до очень сложных текстовых шаблонов.

В следующем примере кода выполняется поиск слов "the" и "their" в предложении без учета регистра. Статический метод Regex.IsMatch выполняет поиск. В метод передается строка и шаблон поиска. В нашем примере третий аргумент задает поиск без учета регистра. Для получения дополнительной информации см. System.Text.RegularExpressions.RegexOptions.

Шаблон Значение
the соответствует тексту "the"
(eir)? Соответствует 0 или 1 вхождению "eir"
\s Соответствует пробелу.

Методы string обычно удобнее при поиске точного совпадения со строкой. Регулярные выражения больше подходят при поиске определенных шаблонов в исходной строке.

Соответствует ли строка шаблону?

В следующем коде реализуется проверка формата каждой строки в массиве с использованием регулярных выражений. По условиям проверки каждая строка должна иметь формат номера телефона: три группы цифр, разделенных дефисами. Первые две группы содержат по три цифры, и третья группа состоит из четырех цифр. Шаблон поиска использует регулярное выражение ^\\d-\\d-\\d$ . Дополнительные сведения см. в разделе Элементы языка регулярных выражений. Краткий справочник.

Шаблон Значение
^ соответствует началу строки
\d соответствует в точности 3 цифрам
- соответствует символу "–"
\d соответствует в точности 4 цифрам
$ соответствует концу строки

Один шаблон поиска соответствует множеству допустимых строк. Регулярные выражения больше подходят для поиска или проверки соответствия шаблону, а не для поиска отдельной строки текста.

Читайте также: