Metoda Java String class replaceAll() vrací řetězec nahrazující veškerou sekvenci znaků odpovídajících regulárnímu výrazu a náhradnímu řetězci.
Podpis
public String replaceAll(String regex, String replacement)
Parametry
regulární výraz : regulární výraz
výměna, nahrazení : náhradní sekvence znaků
Návraty
nahrazený řetězec
Výjimečné hody
PatternSyntaxException: pokud syntaxe regulárního výrazu není platná.
Interní implementace
public String replaceAll(String regex, String replacement) { return Pattern.compile(regex).matcher(this).replaceAll(replacement); }
Příklad Java String replaceAll(): nahradit znak
Podívejme se na příklad, který nahradí všechny výskyty jediný znak .
nahrazení řetězce v jazyce Java
Název souboru: ReplaceAllExample1.java
public class ReplaceAllExample1{ public static void main(String args[]){ String s1='javatpoint is a very good website'; String replaceString=s1.replaceAll('a','e');//replaces all occurrences of 'a' to 'e' System.out.println(replaceString); }}Otestujte to hned
Výstup:
jevetpoint is e very good website
Příklad Java String replaceAll(): nahradit slovo
Podívejme se na příklad, který nahradí všechny výskyty a jedno slovo nebo soubor slov .
salman khan khan věk
Název souboru: ReplaceAllExample2.java
public class ReplaceAllExample2{ public static void main(String args[]){ String s1='My name is Khan. My name is Bob. My name is Sonoo.'; String replaceString=s1.replaceAll('is','was');//replaces all occurrences of 'is' to 'was' System.out.println(replaceString); }}Otestujte to hned
Výstup:
My name was Khan. My name was Bob. My name was Sonoo.
Příklad Java String replaceAll(): odstraňte mezery
Podívejme se na příklad odstranění všech výskytů bílá místa .
Název souboru: ReplaceAllExample3.java
public class ReplaceAllExample3{ public static void main(String args[]){ String s1='My name is Khan. My name is Bob. My name is Sonoo.'; String replaceString=s1.replaceAll('\s',''); System.out.println(replaceString); }}Otestujte to hned
Výstup:
MynameisKhan.MynameisBob.MynameisSonoo.
Příklad metody Java String replaceAll() 4
Metoda replaceAll() vyvolá výjimku PatternSyntaxException, pokud existuje nesprávný regulární výraz. Podívejte se na následující příklad.
Název souboru: ReplaceAllExample4.java
public class ReplaceAllExample4 { // main method public static void main(String argvs[]) { // input string String str = 'For learning Java, JavaTpoint is a very good site.'; System.out.println(str); String regex = '\'; // the regular expression is not valid. // invoking the replaceAll() method raises the PatternSyntaxException str = str.replaceAll(regex, 'JavaTpoint '); System.out.println(str); } }
Výstup:
For learning Java, JavaTpoint is a very good site. Exception in thread 'main' java.util.regex.PatternSyntaxException: Unexpected internal error near index 1 at java.base/java.util.regex.Pattern.error(Pattern.java:2015) at java.base/java.util.regex.Pattern.compile(Pattern.java:1784) at java.base/java.util.regex.Pattern.(Pattern.java:1427) at java.base/java.util.regex.Pattern.compile(Pattern.java:1068) at java.base/java.lang.String.replaceAll(String.java:2126) at ReplaceExample4.main(ReplaceExample4.java:12)
Příklad metody Java String replaceAll() 5
K vkládání mezer mezi znaky lze také použít metodu replaceAll().
java převést int na řetězec
Název souboru: ReplaceAllExample5.java
public class ReplaceAllExample5 { // main method public static void main(String argvs[]) { // input string String str = 'JavaTpoint'; System.out.println(str); String regex = ''; // adding a white space before and after every character of the input string. str = str.replaceAll(regex, ' '); System.out.println(str); } }
Výstup:
JavaTpoint J a v a T p o i n t
Příklad metody Java String replaceAll() 6
Ani regulární výraz null není také akceptován metodou replaceAll(), protože je vyvolána výjimka NullPointerException.
Název souboru: ReplaceAllExample6.java
public class ReplaceAllExample6 { // main method public static void main(String argvs[]) { // input string String str = 'JavaTpoint'; System.out.println(str); String regex = null; // regular expression is null str = str.replaceAll(regex, ' '); System.out.println(str); } }
Výstup:
JavaTpoint 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 ReplaceAllExample6.main(ReplaceAllExample6.java:13)