El método appendReplacement(StringBuffer, String) de Matcher Class se comporta como un método de agregar y reemplazar. Este método lee la string de entrada y la reemplaza con el patrón coincidente en la string del comparador.
Sintaxis:
public Matcher appendReplacement(StringBuffer buffer, String stringToBeReplaced)
Parámetros: Este método toma dos parámetros:
- buffer : que es el StringBuffer que almacena la string de destino.
- stringToBeReplaced : que es la string que se reemplazará en el comparador.
Valor de retorno: este método devuelve un Matcher con la string de destino reemplazada.
Excepción: este método arroja las siguientes excepciones:
- IllegalStateException : si aún no se ha intentado ninguna coincidencia o si la operación de coincidencia anterior falló
- IllegalArgumentException : si la string de reemplazo hace referencia a un grupo de captura con nombre que no existe en el patrón
- IndexOutOfBoundsException : si la string de reemplazo se refiere a un grupo de captura que no existe en el patrón
Los siguientes ejemplos ilustran el método Matcher.appendReplacement():
Ejemplo 1:
// Java code to illustrate appendReplacement() method import java.util.regex.*; public class GFG { public static void main(String[] args) { // Get the regex to be checked String regex = "(Geeks)"; // Create a pattern from regex Pattern pattern = Pattern.compile(regex); // Get the String to be matched String stringToBeMatched = "GeeksForGeeks Geeks for For Geeks Geek"; // Create a matcher for the input String Matcher matcher = pattern.matcher(stringToBeMatched); System.out.println("Before Replacement: " + stringToBeMatched); // Get the String to be replaced String stringToBeReplaced = "GEEKS"; StringBuffer buffer = new StringBuffer(); // Replace every matched pattern // with the target String // using appendReplacement() method while (matcher.find()) { matcher.appendReplacement(buffer, stringToBeReplaced); } matcher.appendTail(buffer); // Print the replaced matcher System.out.println("After Replacement: " + buffer.toString()); } }
Producción:
Before Replacement: GeeksForGeeks Geeks for For Geeks Geek After Replacement: GEEKSForGEEKS GEEKS for For GEEKS Geek
Ejemplo 2:
// Java code to illustrate appendReplacement() method import java.util.regex.*; public class GFG { public static void main(String[] args) { // Get the regex to be checked String regex = "(FGF)"; // Create a pattern from regex Pattern pattern = Pattern.compile(regex); // Get the String to be matched String stringToBeMatched = "FGF FGF FGF FGF"; // Create a matcher for the input String Matcher matcher = pattern.matcher(stringToBeMatched); System.out.println("Before Replacement: " + stringToBeMatched); // Get the String to be replaced String stringToBeReplaced = "GFG"; StringBuffer buffer = new StringBuffer(); // Replace every matched pattern // with the target String // using appendReplacement() method while (matcher.find()) { matcher.appendReplacement(buffer, stringToBeReplaced); } matcher.appendTail(buffer); // Print the replaced matcher System.out.println("After Replacement: " + buffer.toString()); } }
Producción:
Before Replacement: FGF FGF FGF FGF After Replacement: GFG GFG GFG GFG
Publicación traducida automáticamente
Artículo escrito por Kirti_Mangal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA