String.replaceAll()
Заменяет все совпадения регулярного выражения.
Доступно с: Java 1.4
Синтаксис
public String replaceAll(String regex, String replacement)Параметры
| Параметр | Тип | Описание |
|---|---|---|
| regex | String | Регулярное выражение для поиска. |
| replacement | String | Строка замены. В ней $1, $2 вставляют найденные группы. |
Возвращаемое значение
StringНовая строка с заменами.
Примеры
Несколько пробелов подряд — в один:
void main() {
String text = "too many spaces";
IO.println(text.replaceAll("\\s+", " "));
}Результат:
too many spacesГруппы в замене — перестановка частей даты:
void main() {
String date = "2025-03-14";
IO.println(date.replaceAll("(\\d{4})-(\\d{2})-(\\d{2})", "$3.$2.$1"));
}Результат:
14.03.2025Удалить всё, кроме цифр:
void main() {
IO.println("Order #A-1042/7".replaceAll("[^0-9]", ""));
}Результат:
10427Примечания
Обратную косую черту в строке Java пишут дважды: регулярное выражение \s+ в коде выглядит как "\\s+". Для замены только первого совпадения есть replaceFirst().
Символы $ и \ в строке замены особые. Чтобы вставить их буквально, оберните замену в Matcher.quoteReplacement().
См. также
- String.replace() — Заменяет все вхождения подстроки или символа на другую строку.
- String.matches() — Проверяет, соответствует ли вся строка регулярному выражению.
- Matcher.replaceAll() — Заменяет все совпадения строкой или результатом функции, которая получает каждое совпадение.
- Pattern.compile() — Компилирует регулярное выражение в объект Pattern, который можно использовать много раз.
Вопросы и ответы по теме
В учебнике
- Регулярные выражения — Регулярные выражения в Java: matches, replaceAll, split по шаблону, классы Pattern и Matcher, группы и экранирование обратной косой черты.