Рубрики

Соответствующий метод appendReplacement (StringBuilder, String) в Java с примерами

Метод appendReplacement (StringBuilder, String) класса Matcher ведет себя как метод добавления и замены. Этот метод читает входную строку и заменяет ее сопоставленным шаблоном в строке соответствия.

Синтаксис:

public Matcher 
    appendReplacement(StringBuilder builder, 
                      String stringToBeReplaced)

Параметры: Этот метод принимает два параметра:

  • builder : StringBuilder, в котором хранится целевая строка.
  • stringToBeReplaced : строка, подлежащая замене в сопоставителе.

Возвращаемое значение: этот метод возвращает Matcher с заменой целевой строки.

Исключение: этот метод генерирует следующие исключения:

  • IllegalStateException : если ни одно совпадение еще не было предпринято или предыдущая операция не удалась
  • IllegalArgumentException : если строка замены ссылается на именованную группу захвата, которая не существует в шаблоне
  • IndexOutOfBoundsException : если строка замены ссылается на группу захвата, которая не существует в шаблоне

Ниже приведены примеры, иллюстрирующие метод Matcher.appendReplacement ():

Пример 1:

// Java-код для иллюстрации метода appendReplacement ()

  

import java.util.regex.*;

  

public class GFG {

    public static void main(String[] args)

    {

  

        // Получаем регулярное выражение для проверки

        String regex = "(Geeks)";

  

        // Создать шаблон из регулярного выражения

        Pattern pattern

            = Pattern.compile(regex);

  

        // Получить строку для сопоставления

        String stringToBeMatched

            = "GeeksForGeeks Geeks for For Geeks Geek";

  

        // Создать совпадение для входной строки

        Matcher matcher

            = pattern.matcher(stringToBeMatched);

  

        System.out.println("Before Replacement: "

                           + stringToBeMatched);

  

        // Получить строку для замены

        String stringToBeReplaced = "GEEKS";

        StringBuilder builder = new StringBuilder();

  

        // Заменить каждый соответствующий шаблон

        // с целевой строкой

        // используя метод appendReplacement ()

        while (matcher.find()) {

            matcher.appendReplacement(builder,

                                      stringToBeReplaced);

        }

        matcher.appendTail(builder);

  

        // Распечатать замененное совпадение

        System.out.println("After Replacement: "

                           + builder.toString());

    }

}

Выход:

Before Replacement: GeeksForGeeks Geeks for For Geeks Geek
After Replacement: GEEKSForGEEKS GEEKS for For GEEKS Geek

Пример 2:

// Java-код для иллюстрации метода appendReplacement ()

  

import java.util.regex.*;

  

public class GFG {

    public static void main(String[] args)

    {

  

        // Получаем регулярное выражение для проверки

        String regex = "(FGF)";

  

        // Создать шаблон из регулярного выражения

        Pattern pattern

            = Pattern.compile(regex);

  

        // Получить строку для сопоставления

        String stringToBeMatched

            = "FGF FGF FGF FGF";

  

        // Создать совпадение для входной строки

        Matcher matcher

            = pattern.matcher(stringToBeMatched);

  

        System.out.println("Before Replacement: "

                           + stringToBeMatched);

  

        // Получить строку для замены

        String stringToBeReplaced = "GFG";

        StringBuilder builder = new StringBuilder();

  

        // Заменить каждый соответствующий шаблон

        // с целевой строкой

        // используя метод appendReplacement ()

        while (matcher.find()) {

            matcher.appendReplacement(builder,

                                      stringToBeReplaced);

        }

        matcher.appendTail(builder);

  

        // Распечатать замененное совпадение

        System.out.println("After Replacement: "

                           + builder.toString());

    }

}

Выход:

Before Replacement: FGF FGF FGF FGF
After Replacement: GFG GFG GFG GFG

Ссылка: https://docs.oracle.com/javase/9/docs/api/java/util/regex/Matcher.html#appendReplacement-java.lang.StringBuilder-java.lang.String-

Рекомендуемые посты:

Соответствующий метод appendReplacement (StringBuilder, String) в Java с примерами

0.00 (0%) 0 votes