English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Matcher appendReplacement() Methode mit Beispiel in Java

Die java.util.regex.Matcher-Klasse stellt einen Motor für verschiedene Übereinstimmungsoperationen dar. Diese Klasse hat keinen Konstruktor und kann mit dem matchs()-Methoden der Klasse java.util.regex.Pattern erstellt werden/Erhalten Sie ein Objekt dieser Klasse.

Die appendReplacement() -Methode dieser Klasse (Matcher) akzeptiert ein StringBuffer-Objekt und einen String (Ersetzungstext) als Parameter und fügt das Eingabedaten an das StringBuffer-Objekt an, wobei der zu ersetzende Inhalt durch den Ersetzungstext ersetzt wird.

Intern liest dieser Methodenaufruf jeden Zeichen des Eingabestrings und fügt es dem String-Puffer hinzu. Bei jeder Übereinstimmung wird der String anstatt des übereinstimmenden Teils des Strings in den Puffer eingefügt und der Suchvorgang wird vom nächsten Zeichen fortgesetzt.

Beispiel1

import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class appendReplacementExample {
   public static void main(String[] args) {
      String str = "<p>This <b>is</b> ein <b>Beispiel</b>HTML <b>script</b>.</p>";
      //Regulärer Ausdruck zum Auswählen des Inhalts der fett gedruckten Tags
      String regex = "<b>(\\S+)</b>";
      System.out.println("Eingabestring: \n"+str);
      //Erstellung eines Muster-Objekts
      Pattern pattern = Pattern.compile(regex);
      //Überprüfen des kompilierten Musters im String
      Matcher matcher = pattern.matcher(str);
      //Erstellen eines leeren String-Puffers
      StringBuffer sb = new StringBuffer();
      while (matcher.find()) {
         matcher.appendReplacement(sb, "BoldData");
      }
      matcher.appendTail(sb);}
      System.out.println("Inhalte des StringBuffer: \n");+ sb.toString());
   }
}

Ausgaberesultat

Eingabezeichenkette:
<p>Dieser <b>ist</b> ein <b>Beispiel</b> HTML <b>script</b>.</p>
Inhalte des StringBuffer:
Dieser Fett-Daten ein Fett-Daten HTML Fett-Daten.
<p>Dieser Fett-Daten ein Fett-Daten HTML Fett-Daten.</p>

Beispiel2

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class appendReplacementExample {
   public static void main(String[] args) {
      Scanner sc = new Scanner(System.in);
      System.out.println("Geben Sie den Eingabetext ein: ");
      String input = sc.nextLine();
      String regex = "[#$&+@=|<>-]";
      //Erstellung eines Muster-Objekts
      Pattern pattern = Pattern.compile(regex);
      //Erstellung eines Matcher-Objekts
      Matcher matcher = pattern.matcher(input);
      int count = 0;
      StringBuffer buffer = new StringBuffer();
      System.out.println("Entfernung des speziellen Zeichens aus der angegebenen Zeichenkette");
      while(matcher.find()) {
         count++;
         matcher.appendReplacement(buffer, "");
      }
      matcher.appendTail(buffer);
      //Abholung des verwendeten Musters
      System.out.println("Es sind besondere Zeichen aufgetreten ");+count+"mal im angegebenen Text");
      System.out.println("Text nach Entfernung aller davon \n");+buffer.toString());
   }
}

Ausgaberesultat

Geben Sie den Eingabetext ein:
Hallo# wie$ sind& du| willkommen< bei> Tut-oria@ls@po-in#t.
Entfernung der besonderen Zeichen aus der angegebenen Zeichenkette
Es sind besondere Zeichen aufgetreten 11 mal im angegebenen Text
Text nach Entfernung aller davon
Hallo, wie geht es dir, willkommen bei w3codebox.