Метод appendTail
Метод appendTail класса Matcher добавляет
в буфер StringBuffer ту часть входной строки,
которая осталась после последнего найденного совпадения.
Этот метод обычно используется вместе с методом
appendReplacement для полной замены всех совпадений
в строке с сохранением текста до и после них.
В первый параметр мы передаем объект StringBuffer,
в который будет добавлен оставшийся текст.
Синтаксис
matcher.appendTail(sb)
Пример
Давайте заменим все цифры в строке на символ "X"
и добавим оставшуюся часть строки с помощью метода
appendTail:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Main
{
public static void main(String[] args)
{
String str = "abcde12345";
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());
}
}
Результат выполнения кода:
"abcdeX"
Пример
Давайте заменим все буквы на "1" и посмотрим,
как метод appendTail добавит хвост строки
после последнего совпадения:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Main
{
public static void main(String[] args)
{
String str = "12345abcde";
Pattern pattern = Pattern.compile("[a-z]+");
Matcher matcher = pattern.matcher(str);
StringBuffer sb = new StringBuffer();
while (matcher.find())
{
matcher.appendReplacement(sb, "1");
}
matcher.appendTail(sb);
System.out.println(sb.toString());
}
}
Результат выполнения кода:
"123451"
Смотрите также
-
метод
appendReplacement,
который добавляет замену для найденного совпадения -
метод
find,
который ищет следующее совпадение в строке -
метод
replaceAll,
который заменяет все совпадения в строке -
класс
Matcher,
который выполняет операции сопоставления с образцом