Metoda Java String replaceAll().

Metoda String replaceAll din Java caută un șir specificat sau o valoare specificată, sau o expresie regex în virtutea căreia are aceeași sugestie returnează un șir nou cu caractere înrudite. Să aflăm despre metoda Java replaceAll în acest articol.

Java String replaceAll()

Această metodă înlocuiește fiecare subșir a șirului care se potrivește cu expresia regulată dată cu înlocuirea_str.

Sintaxa Java replaceAll String

public String replaceAll(String regex, String replace_str) 

Parametrii

    regex: expresia regulată la care urmează să se potrivească acest șir. replace_str: șirul care ar înlocui expresia găsită.

Valoare returnată

  • Această metodă returnează șirul rezultat.

Exemplu de metodă String.replaceAll în Java

Java




// Java code to demonstrate the> // working of replaceAll()> public> class> rep2 {> > public> static> void> main(String args[])> > {> > // Initialising String> > String Str => new> String(> 'Welcome to geeksforgeeks'> );> > // original string> > System.out.print(> 'Original String : '> );> > System.out.println(Str);> > // Using replaceAll to replace regex with> > // replace_str> > System.out.print(> > 'After replacing regex with replace_str : '> );> > System.out.println(> > Str.replaceAll(> '(.*)geeks(.*)'> ,> 'ASTHA TYAGI'> ));> > }> }>

Ieșire

Original String : Welcome to geeksforgeeks After replacing regex with replace_str : ASTHA TYAGI 

Excepții cu String.replaceAll Java

Deși metoda String replaceAll este foarte eficientă în Java, dar chiar și cu anumite excepții, așa cum este menționat mai jos:

1. Regex nevalid

Excepție regex invalidă atunci când este transmisă în metoda raplaceAll(), ridică PatternSyntaxException.

Exemplu:

Java




// Java Program to demonstrate> // replaceAll() method> import> java.io.*;> // Driver class> class> GFG {> > // main function> > public> static> void> main(String[] args)> > {> > // input string> > String str => 'GFG'> ;> > System.out.println(str);> > // NULL Regular expression> > String regex => ''> ;> > // Passing null expression in> > // replaceAll method> > str = str.replaceAll(regex,> ' '> );> > System.out.println(str);> > }> }>

Ieșire

Exception in thread 'main' java.util.regex.PatternSyntaxException: Unexpected internal error near index 1 at java.base/java.util.regex.Pattern.error(Pattern.java:2027) at java.base/java.util.regex.Pattern.compile(Pattern.java:1788) at java.base/java.util.regex.Pattern.(Pattern.java:1428) at java.base/java.util.regex.Pattern.compile(Pattern.java:1068) at java.base/java.lang.String.replaceAll(String.java:2126) at GFG.main(GFG.java:11) 

2. Expresie regulată nulă

Expresia regulată nulă nu este acceptată de metoda replaceAll(), ea ridică NullPointerException.

Exemplu:

Java




// Java Program to demonstrate> // replaceAll() method> import> java.io.*;> // Driver class> class> GFG {> > // main function> > public> static> void> main(String[] args)> > {> > // input string> > String str => 'GFG'> ;> > System.out.println(str);> > // NULL Regular expression> > String regex => null> ;> > // Passing null expression in> > // replaceAll method> > str = str.replaceAll(regex,> ' '> );> > System.out.println(str);> > }> }>

Ieșire

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 GFG.main(GFG.java:11)