Примечание. Метод nextmatch класса Match продолжает поиск в строке с того места, на котором закончился предыдущий поиск

Метод NextMatch класса Match продолжает поиск в строке с того места, на котором закончился предыдущий поиск.

Метод Matches класса Regex возвращает объект класса MatchCollection — коллек­цию всех фрагментов заданной строки, совпавших с образцом. Рассмотрим теперь пример применения метода Split класса Regex. Этот метод разбивает заданную строку на фрагменты в соответствии с разделителями, задан­ными с помощью регулярного выражения, и возвращает эти фрагменты в массиве строк. В листинге 15.5 строка из листинга 15.4 разбивается на отдельные слова.

Листинг 15.5. Разбиение строки на слова (методом Split)

using System;

using System.Collections.Generic;

using System.Text.RegularExpressions;

public class Test

{

public static void Main()

{

string text = "Салат - $4. борщ -$3. одеколон - $10.";

string pattern = "[-,.]+";

Regex r = new Regex(pattern);

List<string> words = new List<string>(r.Split(text));

foreach (string word in words) Console.WriteLine(word);

}

}

Результат работы программы:

Салат $4

борщ $3

одеколон $10

Метод Replасе класса Regex позволяет выполнять замену фрагментов текста. Опре­делено несколько перегруженных версий этого метода. Вот как выглядит пример простейшего применения метода в его статическом варианте, заменяющего все вхождения символа $ символами у. е.:

string text = "Салат - $4. борщ -$3. одеколон - $10.";

string text1 = Regex.Replace(text. @"\$", "y.e.");

Другие версии метода позволяют задавать любые действия по замене с помощью делегата MatchEvaluator, который вызывается для каждого вхождения фрагмента, совпавшего с заданным регулярным выражением.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: