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