Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Справочник Java

String.replaceAll()

Заменяет все совпадения регулярного выражения.

Доступно с: Java 1.4

Синтаксис

public String replaceAll(String regex, String replacement)

Параметры

ПараметрТипОписание
regexStringРегулярное выражение для поиска.
replacementStringСтрока замены. В ней $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, группы и экранирование обратной косой черты.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.