Metoda Java String replaceAll().

Metoda String replaceAll v Javě vyhledává zadaný řetězec nebo zadanou hodnotu nebo výraz regulárního výrazu, na jehož základě má stejné návrhy, vrací nový řetězec se souvisejícími znaky. V tomto článku se dozvíme o metodě Java replaceAll.

Java String replaceAll()

Tato metoda nahrazuje každý podřetězec řetězce, který odpovídá danému regulárnímu výrazu s daným nahradit_str.

Syntaxe Java replaceAll String

public String replaceAll(String regex, String replace_str) 

Parametry

    regulární výraz: regulární výraz, kterému má být tento řetězec přiřazen. nahradit_str: řetězec, který by nahradil nalezený výraz.

Návratová hodnota

  • Tato metoda vrací výsledný řetězec.

Příklad metody String.replaceAll v Javě

Jáva




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

Výstup

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

Výjimky s String.replaceAll Java

Metoda String replaceAll je sice v Javě velmi účinná, ale i ona přichází s určitými výjimkami, jak je uvedeno níže:

1. Neplatný regulární výraz

Neplatný regulární výraz při předání v metodě raplaceAll() vyvolá výjimku PatternSyntaxException.

Příklad:

Jáva




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

Výstup

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. Regulární výraz Null

Regulární výraz null metoda replaceAll() nepřijímá, vyvolává výjimku NullPointerException.

Příklad:

Jáva




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

Výstup

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) 


Mohlo By Se Vám Líbit