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

Metodo quoteReplacement(String s) con esempio in Java Matcher

appendReplacement()I metodi della classe Matcher accettano un oggetto StringBuffer e una Stringa (stringa sostituita) come parametri, poi aggiungono i dati di input all'oggetto StringBuffer e sostituiscono il contenuto corrispondente con la stringa sostituita.

Internalmente, questo metodo legge ogni carattere dalla stringa di input e lo aggiunge alla Stringa Buffer, ogni volta che si verifica una corrispondenza, sostituisce la stringa invece di aggiungere la parte corrispondente alla buffer, poi continua dal prossimo carattere della stringa corrispondente.

Se si utilizza " / " o " $ " per passare una stringa sostituita a questo metodo, non verranno considerati come caratteri normali e si verificherà un'eccezione-

Esempio 1

import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class QuoteReplacement {
   public static void main(String[] args) {
      String str = "<p>This <b>is</b> <b>an</b> <b>example</b> HTML <b>script</b>.</p>";
      //Espressione regolare per abbinare il contenuto del tag grassetto
      String regex = "<b>(\\S+)</b>";
      System.out.println("Stringa di input: \n"+str);
      //Creare un oggetto di modello
      Pattern pattern = Pattern.compile(regex);
      //Cercare la modalità compilata nella stringa
      Matcher matcher = pattern.matcher(str);
      //Creare una stringa buffer vuota
      StringBuffer sb = new StringBuffer();
      while (matcher.find()) {
         matcher.appendReplacement(sb, "sampledata$" );
         //Matcher.quoteReplacement("Bo$ld/Data$"));
      }
      matcher.appendTail(sb);
      System.out.println("Contenuti della StringBuffer: \n"+ sb.toString());
   }
}

Risultato di output

Stringa di input:<p>This <b>is</b> an <b>example</b> HTML <b>script</b>.</p>Eccezione nel thread "main" java.lang.IllegalArgumentException: Riferimento di gruppo illegale: l'indice del gruppo è mancante
   at java.util.regex.Matcher.appendReplacement(Unknown Source)
   at OCTOBER.matcher.QuoteReplacement.main(QuoteReplacement.java:18)

Il metodo quote Replacement della classe Matcher accetta un valore di stringa e restituisce una stringa di sostituzione testuale. A volte, i caratteri / e $ della stringa data vengono ignorati, e il risultato può essere utilizzato comeappendReplacement()Parametro del metodo.

Esempio 2

import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class QuoteReplacement {
   public static void main(String[] args) {
      String str = "<p>This <b>is</b> an <b>example</b> HTML <b>script</b>.</p>";
      //Espressione regolare per abbinare il contenuto del tag grassetto
      String regex = "<b>(\\S+)</b>";
      System.out.println("Stringa di input: \n"+str);
      //Creare un oggetto di modello
      Pattern pattern = Pattern.compile(regex);
      //Cercare la modalità compilata nella stringa
      Matcher matcher = pattern.matcher(str);
      //Creare una stringa buffer vuota
      StringBuffer sb = new StringBuffer();
      while (matcher.find()) {
         matcher.appendReplacement(sb, Matcher.quoteReplacement("Bo$ld/Data$"));
      }
      matcher.appendTail(sb);
      System.out.println("Contenuti della StringBuffer: \n"+ sb.toString());
   }
}

Risultato di output

Stringa di input:
<p>This <b>is</b> an <b>example</b> HTML <b>script</b>.</p>
Contenuti della StringBuffer:
<p>This Bo$ld/Data$ an Bo$ld/Data$ HTML Bo$ld/Data$.</p>

Esempio 3

import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class QuoteReplacementExample {
   public static void main(String[] args) {
      String input = "This is sample text";
      String regex = "[#]";
      //Creare un oggetto di modello
      Pattern pattern = Pattern.compile(regex);
      //Cercare la modalità compilata nella stringa
      Matcher matcher = pattern.matcher(input);
      //Creare una stringa buffer vuota
      String str = Matcher.quoteReplacement("sampledata");
      System.out.println(str);
   }
}

Risultato di output

sampledata