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)