Java String replaceAll ()

Il metodo Java String replaceAll () sostituisce ogni sottostringa che corrisponde alla regex della stringa con il testo specificato.

La sintassi del replaceAll()metodo è:

 string.replaceAll(String regex, String replacement)

Qui, la stringa è un oggetto della Stringclasse.

parametri replaceAll ()

Il replaceAll()metodo accetta due parametri.

  • regex - una regex (può essere una stringa tipica) che deve essere sostituita
  • sostituzione - le sottostringhe corrispondenti vengono sostituite con questa stringa

replaceAll () Valore restituito

  • Il replaceAll()metodo restituisce una nuova stringa in cui ogni occorrenza della sottostringa corrispondente viene sostituita con la stringa di sostituzione .

Esempio 1: Java String replaceAll ()

 class Main ( public static void main(String() args) ( String str1 = "aabbaaac"; String str2 = "Learn223Java55@"; // regex for sequence of digits String regex = "\d+"; // all occurrences of "aa" is replaceAll with "zz" System.out.println(str1.replaceAll("aa", "zz")); // zzbbzzac // replace a digit or sequence of digits with a whitespace System.out.println(str2.replaceAll(regex, " ")); // Learn Java @ ) )

Nell'esempio precedente, "\d+"è un'espressione regolare che corrisponde a una o più cifre. Per saperne di più, visita Java regex.

Caratteri di escape in replaceAll ()

Il replaceAll()metodo può prendere una regex o una stringa tipica come primo argomento. È perché una stringa tipica di per sé è una regex.

In regex, ci sono caratteri che hanno un significato speciale. Questi metacaratteri sono:

 $. | ? * + () () ()

Se è necessario abbinare la sottostringa contenente questi metacaratteri, è possibile eseguire l'escape di questi caratteri utilizzando o utilizzare il replace()metodo.

 // Program to replace the + character class Main ( public static void main(String() args) ( String str1 = "+a-+b"; String str2 = "Learn223Java55@"; String regex = "\+"; // replace "+" with "#" using replaceAll() // need to espace "+" System.out.println(str1.replaceAll("\+", "#")); // #a-#b // replace "+" with "#" using replace() System.out.println(str1.replace("+", "#")); // #a-#b ) )

Come puoi vedere, quando usiamo il replace()metodo, non abbiamo bisogno di sfuggire ai metacaratteri. Per saperne di più, visita: Java String replace ()

Se è necessario sostituire solo la prima occorrenza della sottostringa corrispondente, utilizzare il metodo Java String replaceFirst ().

Articoli interessanti...