Java virkne aizstājAll() metode

Metode String changeAll programmā Java meklē noteiktu virkni vai noteiktu vērtību, vai regulārā izteiksmes izteiksme, kuras dēļ ir tāds pats ierosinājums, atgriež jaunu virkni ar saistītām rakstzīmēm. Šajā rakstā mēs uzzināsim par Java aizstājējvirknes metodi.

Java virkne aizstāt visu()

Šī metode aizstāj katra apakšvirkne no virknes, kas atbilst norādītajai regulārajai izteiksmei ar norādīto aizstājējstr.

Java sintakse aizstājAll String

public String replaceAll(String regex, String replace_str) 

Parametri

    regex: regulārā izteiksme, kurai šī virkne ir jāsaskaņo. aizstāt_str: virkne, kas aizstātu atrasto izteiksmi.

Atdeves vērtība

  • Šī metode atgriež iegūto virkni.

Java metodes String.replaceAll piemērs

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'> ));> > }> }>

Izvade

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

Izņēmumi ar String.replaceAll Java

Lai gan metode String aizstātAll ir ļoti efektīva Java, taču pat tai ir daži izņēmumi, kā minēts tālāk:

1. Nederīgs regulārais izteiksmes veids

Nederīgs regex, ja tas ir nodots metodē raplaceAll(), rada PatternSyntaxException.

Piemērs:

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);> > }> }>

Izvade

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. Nulle regulāra izteiksme

Null regulāro izteiksmi nepieņem aizstājAll() metode, tā rada NullPointerException.

Piemērs:

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);> > }> }>

Izvade

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)