Il metodo replaceAll() della classe Java String restituisce una stringa che sostituisce tutta la sequenza di caratteri corrispondenti alla regex e alla stringa di sostituzione.
Firma
public String replaceAll(String regex, String replacement)
Parametri
espressione regolare : espressione regolare
sostituzione : sequenza di sostituzione dei caratteri
ritorna
stringa sostituita
Tiri d'eccezione
PatternSyntaxException: se la sintassi dell'espressione regolare non è valida.
Implementazione interna
public String replaceAll(String regex, String replacement) { return Pattern.compile(regex).matcher(this).replaceAll(replacement); }
Esempio Java String replaceAll(): sostituzione del carattere
Vediamo un esempio per sostituire tutte le occorrenze di un singolo carattere .
tutorial Java per principianti
Nome del file: SostituisciTuttoEsempio1.java
public class ReplaceAllExample1{ public static void main(String args[]){ String s1='javatpoint is a very good website'; String replaceString=s1.replaceAll('a','e');//replaces all occurrences of 'a' to 'e' System.out.println(replaceString); }}Provalo adesso
Produzione:
jevetpoint is e very good website
Esempio Java String replaceAll(): sostituisci parola
Vediamo un esempio per sostituire tutte le occorrenze di a singola parola o insieme di parole .
nullpointerException
Nome del file: SostituisciAllExample2.java
public class ReplaceAllExample2{ public static void main(String args[]){ String s1='My name is Khan. My name is Bob. My name is Sonoo.'; String replaceString=s1.replaceAll('is','was');//replaces all occurrences of 'is' to 'was' System.out.println(replaceString); }}Provalo adesso
Produzione:
My name was Khan. My name was Bob. My name was Sonoo.
Esempio Java String replaceAll(): rimuovi gli spazi bianchi
Vediamo un esempio per rimuovere tutte le occorrenze di spazi bianchi .
Nome del file: SostituisciAllExample3.java
public class ReplaceAllExample3{ public static void main(String args[]){ String s1='My name is Khan. My name is Bob. My name is Sonoo.'; String replaceString=s1.replaceAll('\s',''); System.out.println(replaceString); }}Provalo adesso
Produzione:
MynameisKhan.MynameisBob.MynameisSonoo.
Metodo Java String replaceAll() Esempio 4
Il metodo replaceAll() genera PatternSyntaxException quando è presente un'espressione regolare impropria. Guarda il seguente esempio.
Nome del file: SostituisciAllExample4.java
public class ReplaceAllExample4 { // main method public static void main(String argvs[]) { // input string String str = 'For learning Java, JavaTpoint is a very good site.'; System.out.println(str); String regex = '\'; // the regular expression is not valid. // invoking the replaceAll() method raises the PatternSyntaxException str = str.replaceAll(regex, 'JavaTpoint '); System.out.println(str); } }
Produzione:
For learning Java, JavaTpoint is a very good site. Exception in thread 'main' java.util.regex.PatternSyntaxException: Unexpected internal error near index 1 at java.base/java.util.regex.Pattern.error(Pattern.java:2015) at java.base/java.util.regex.Pattern.compile(Pattern.java:1784) at java.base/java.util.regex.Pattern.(Pattern.java:1427) at java.base/java.util.regex.Pattern.compile(Pattern.java:1068) at java.base/java.lang.String.replaceAll(String.java:2126) at ReplaceExample4.main(ReplaceExample4.java:12)
Metodo Java String replaceAll() Esempio 5
Il metodo replaceAll() può essere utilizzato anche per inserire spazi tra i caratteri.
Java-PGM
Nome del file: SostituisciAllExample5.java
public class ReplaceAllExample5 { // main method public static void main(String argvs[]) { // input string String str = 'JavaTpoint'; System.out.println(str); String regex = ''; // adding a white space before and after every character of the input string. str = str.replaceAll(regex, ' '); System.out.println(str); } }
Produzione:
JavaTpoint J a v a T p o i n t
Metodo Java String replaceAll() Esempio 6
Anche l'espressione regolare nulla non viene accettata dal metodo replaceAll() poiché viene sollevata la NullPointerException.
Nome del file: SostituisciAllExample6.java
public class ReplaceAllExample6 { // main method public static void main(String argvs[]) { // input string String str = 'JavaTpoint'; System.out.println(str); String regex = null; // regular expression is null str = str.replaceAll(regex, ' '); System.out.println(str); } }
Produzione:
JavaTpoint Exception in thread 'main' java.lang.NullPointerException at java.base/java.util.regex.Pattern.(Pattern.java:1426) at java.base/java.util.regex.Pattern.compile(Pattern.java:1068) at java.base/java.lang.String.replaceAll(String.java:2126) at ReplaceAllExample6.main(ReplaceAllExample6.java:13)