В этой статье мы рассмотрим пример использования метода replaceAll() в Java. Для начала немного теории, а затем разберем несколько примером использования.
Метод replaceAll. Теория
Класс String в Java предоставляет методы для создания и манипулирования строками. В классе String уже есть множество готовых методов, например, для вычитания строк с помощью substring(), сравнение частей строк с помощью метода regionMatches(), длины конкретной строки, задания формата строки, поиск подстрок и многое другое. Подробнее о классе String и работе со строками читайте здесь.
Метод replaceAll() используется для того, чтобы заменить все вхождения подстроки по регулярному выражению. Синтаксис метода replaceAll() выглядит следующим образом:
1 |
public String replaceAll(String regex, String replacement) |
Эти два параметра означают следующее:
regex
— регулярное выражение, определяющее что будет заменятьсяreplacement
— строка, на которую будет произведена заменена
Если упростить, то в первом параметре вы определяете что нужно заменить вторым параметром. При этом в первом параметре может быть как строка, так и регулярное выражение.
Важные моменты при использовании replaceAll
- Будьте внимательны при использовании метода replaceAll с регулярным выражением, так как в случае ошибки в синтаксисе регулярного выражения он может выбросить
PatternSyntaxException
. - Когда вы используете метод replaceAll, значение существующей строки не изменяется, вместо этого создается новый объект для хранения нового значения.
- Метод replaceAll() чувствителен к регистру, то есть он отличает символы в верхнем регистре и их эквиваленты внижнем регистре.
Пример использования метода replaceAll
Рассмотрим простую программу замены букв в строке на другие буквы и строки:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
import java.lang.String; public class ReplaceAllExample1 { public static void main(String[] args) { String java = "Строки являются важной составляющей языка Java"; // jaba String result = java.replaceAll("v", "b"); System.out.println(result); // Строк1 result = result.replaceAll("и", "1"); System.out.println(result); // важноЙ result = result.replaceAll("й", "Й"); System.out.println(result); // Стрки являются важнй сставляющей языка Java result = result.replaceAll("о", ""); System.out.println(result); // Джava result = result.replaceAll("J", "Дж"); System.out.println(result); } } |
Ниже представлен пример использования метода replaceAll в Java с регулярным вражением:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
import java.lang.String; public class ReplaceAllWithRegexExample { public static void main(String[] args) { String inputString = "Это просто 2016 2014 строка 98765 в 000101 Java 1101001"; // заменяем все цифры и числа на пустоту String result = inputString.replaceAll("[0-9]+", ""); // выведет в консоль 'Это просто строка в Java' System.out.println(result); // заменяем все буквы и слова на слово Java result = inputString.replaceAll("[a-zA-Z]+", "Java"); // выведет в консоль 'Java Java 2016 2014 Java 98765 Java 000101 Java 1101001' System.out.println(result); } } |
Подробнее о других методах обработки строк в Java читайте в разделе «Работа со строками в Java«.