Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗jvSpRgMR 93 of 322 menu
◀ ▶

Замена совпадений в Java

Метод replaceAll у Matcher подставляет строку замены вместо каждого совпадения с шаблоном. Шаблон задают при создании объекта, исходный текст и замена передают в вызов метода:

import java.util.regex.Matcher; import java.util.regex.Pattern; public class Main { public static void main(String[] args) { String txt = "123 456 789"; Pattern pattern = Pattern.compile("\\d"); Matcher matcher = pattern.matcher(txt); String res = matcher.replaceAll("!"); System.out.println(res); } }

Сложную замену делают в цикле через appendReplacement и appendTail:

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

Дана строка:

public class Main { public static void main(String[] args) { String txt = "aaa bbb 123 www"; } }

Замените повторяющиеся подряд одинаковые буквы на один символ "!".

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить