— Привет, Амиго!
Насколько я знаю, Риша уже рассказал тебе о регулярных выражениях.
— Да, было очень интересно.
— Отлично, теперь я расскажу тебе о работе со строками с помощью регулярных выражений.
Начнем мы с самого простого:
1) Как проверить, совпадает ли строка с шаблоном, заданным регулярным выражением:
Для этого есть метод matches, в который передается строка, хранящая регулярное выражение, а метод возвращает true или false.
Метод(ы) | Пример(ы) |
---|---|
|
|
Результат:
|
2) Как заменить все подстроки, заданные маской, на нужные нам?
Для этого есть два метода.
Метод replaceAll заменяет все вхождения одной подстроки на другую.
Метод replaceFirst заменяет первое вхождение переданной подстроки на заданную подстроку.
Метод(ы) | Пример(ы) |
---|---|
|
|
Результат:
|
|
|
|
Результат:
|
3) Как разбить строку на части?
Для этого есть метод split, который принимает маску подстроки-разделителя:
Метод(ы) | Пример(ы) |
---|---|
|
|
Результат (будет массив из трех строк):
|
Есть еще один способ разбиения строки на части – с помощью класса StringTokenizer.
Этот класс не использует регулярные выражения, вместо этого в него просто передается строка, состоящая из символов-разделителей. Преимущества этого подхода в том, что он не разбивает сразу всю строку на кусочки, а потихоньку идет от начала к концу.
В конструктор с двумя параметрами нужно передать строку, которую мы разбиваем на части, и строку – набор символов, используемых для разделения.
Метод nextToken() возвращает очередной токен – подстроку.
Метод hasMoreTokens() возвращает true, если еще остались не отданные подстроки.
Метод(ы) | Пример(ы) |
---|---|
|
|
Вывод на экран будет таким:
|
Обрати внимание, что разделителем считается любой символ, переданный во второй строке в конструктор StringTokenizer.
— Да, тут тоже все понятно. Может я не сразу смогу сам написать такой код, но то, что тут происходит, мне ясно.
— Отлично, тогда будем считать, что тему ты освоил.
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ