РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
682 of 1163 menu

Метод appendReplacement

Метод appendReplacement класса Matcher используется для пошаговой замены найденных совпадений в строке. Он добавляет в специальный буфер (обычно это StringBuffer или StringBuilder) текст, который должен заменить текущее найденное совпадение. Первым параметром метод принимает буфер, в который будет записан результат, а вторым - строку замены. Важно, что перед вызовом этого метода нужно сначала найти совпадение с помощью метода find.

Синтаксис

matcher.appendReplacement(sb, replacement)

Пример

Давайте найдем все цифры в строке и заменим их на символ "X", используя цикл и метод appendReplacement:

import java.util.regex.Matcher; import java.util.regex.Pattern; public class Main { public static void main(String[] args) { String str = "a1b2c3"; Pattern pattern = Pattern.compile("\\d"); Matcher matcher = pattern.matcher(str); StringBuffer sb = new StringBuffer(); while (matcher.find()) { matcher.appendReplacement(sb, "X"); } matcher.appendTail(sb); System.out.println(sb.toString()); } }

Результат выполнения кода:

"aXbXcX"

Пример

Давайте заменим все буквы на их верхний регистр, используя группы и метод appendReplacement:

import java.util.regex.Matcher; import java.util.regex.Pattern; public class Main { public static void main(String[] args) { String str = "abcde"; Pattern pattern = Pattern.compile("([a-z])"); Matcher matcher = pattern.matcher(str); StringBuilder sb = new StringBuilder(); while (matcher.find()) { matcher.appendReplacement(sb, matcher.group(1).toUpperCase()); } matcher.appendTail(sb); System.out.println(sb.toString()); } }

Результат выполнения кода:

"ABCDE"

Смотрите также

  • класс Matcher,
    который выполняет поиск и замену в строках
  • метод appendTail,
    который добавляет остаток строки в буфер
  • метод find,
    который ищет следующее совпадение
  • метод replaceAll,
    который заменяет все совпадения сразу
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить