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 String
classe.
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 ().