Метод replaceAll
Метод replaceAll класса Matcher заменяет
все совпадения, найденные в входной строке, на заданную
строку замены и возвращает новую строку. Сама входная
строка при этом не изменяется. В первый параметр мы
передаем строку, на которую нужно заменить каждое
найденное совпадение. В строке замены можно
использовать ссылки на группы через $1,
$2 и так далее.
Синтаксис
matcher.replaceAll(replacement)
Пример
Давайте заменим все цифры в строке на символ X:
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);
String res = matcher.replaceAll("X");
System.out.println(res);
}
}
Результат выполнения кода:
"aXbXcX"
Пример
Давайте используем группу в строке замены, чтобы поменять местами цифры и буквы:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Main
{
public static void main(String[] args)
{
String str = "a1b2";
Pattern pattern = Pattern.compile("([a-z])(\\d)");
Matcher matcher = pattern.matcher(str);
String res = matcher.replaceAll("$2$1");
System.out.println(res);
}
}
Результат выполнения кода:
"1a2b"
Пример
Давайте заменим все вхождения слова cat на
слово dog в строке:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Main
{
public static void main(String[] args)
{
String str = "cat abcde cat 12345 cat";
Pattern pattern = Pattern.compile("cat");
Matcher matcher = pattern.matcher(str);
String res = matcher.replaceAll("dog");
System.out.println(res);
}
}
Результат выполнения кода:
"dog abcde dog 12345 dog"
Смотрите также
-
класс
Matcher,
который выполняет операции сопоставления -
метод
find,
который ищет следующее совпадение -
метод
replaceFirst,
который заменяет только первое совпадение -
метод
appendReplacement,
который добавляет замену в буфер