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)