Java String replaceAll() Metod
String replaceAll-metoden i Java söker efter en specificerad sträng eller ett specificerat värde, eller ett regexuttryck som har samma tyder på att returnera en ny sträng med relaterade tecken. Låt oss lära oss om Java replaceAll-strängmetoden i den här artikeln.
Java String replaceAll()
Denna metod ersätter varje delsträng av strängen som matchar det givna reguljära uttrycket med den givna replace_str.
Syntax för Java replaceAll String
public String replaceAll(String regex, String replace_str)
Parametrar
- regex: det reguljära uttrycket som denna sträng ska matchas till. replace_str: strängen som skulle ersätta hittat uttryck.
Returvärde
- Denna metod returnerar den resulterande strängen.
Exempel på String.replaceAll-metoden i 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'> ));> > }> }> |
Produktion
Original String : Welcome to geeksforgeeks After replacing regex with replace_str : ASTHA TYAGI
Undantag med String.replaceAll Java
Även om metoden String replaceAll är mycket effektiv i Java, men även den kommer med vissa undantag som nämns nedan:
1. Ogiltigt regex
Ogiltigt regex när det skickas i raplaceAll()-metoden, höjer PatternSyntaxException.
Exempel:
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);> > }> }> |
Produktion
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. Null reguljärt uttryck
Det reguljära uttrycket null accepteras inte av metoden replaceAll(), det höjer NullPointerException.
Exempel:
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);> > }> }> |
Produktion
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)