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)