原文: https://howtodoinjava.com/java/string/java-string-replaceall-example/
Java String.replaceAll()用给定的替换替换与给定的正则表达式匹配的每个子字符串后,将返回一个字符串。
1. String.replaceAll()方法
使用String.replaceAll(String regex, String replacement)将所有出现的子字符串(匹配参数regex)替换为replacement字符串。
1.1 方法语法
/*** @param regex - regular expression to match in given string* @param replacement : replacement string to be replaced** @return result string after replacing all occurrence of* matching 'regex' with replacement 'substring'*/public String replaceAll(String regex, String replacement){return Pattern.compile(regex).matcher(this).replaceAll(replacement);}
1.2 抛出PatternSyntaxException
请注意,如果正则表达式的语法无效,则replaceAll()会引发PatternSyntaxException。 在给定的示例中,"["是无效的正则表达式。
public class StringExample{public static void main(String[] args){String newStr = "hello world".replaceAll("[", "");}}
程序输出。
Exception in thread "main" java.util.regex.PatternSyntaxException: Unclosed character class near index 0[^at java.util.regex.Pattern.error(Pattern.java:1955)at java.util.regex.Pattern.clazz(Pattern.java:2548)at java.util.regex.Pattern.sequence(Pattern.java:2063)at java.util.regex.Pattern.expr(Pattern.java:1996)at java.util.regex.Pattern.compile(Pattern.java:1696)at java.util.regex.Pattern.<init>(Pattern.java:1351)at java.util.regex.Pattern.compile(Pattern.java:1028)at java.lang.String.replaceAll(String.java:2210)at com.StringExample.main(StringExample.java:9)
2. Java String.replaceAll()示例
2.1 替换所有出现的子串或单词
Java 程序替换字符串中所有出现的单词。 在此示例中,我们将单词“java”替换为“scala”。
public class StringExample{public static void main(String[] args){String str = "how to do in java provides java tutorials";String newStr = str.replaceAll("java", "scala");System.out.println(newStr);}}
程序输出:
how to do in scala provides scala tutorials
2.2 替换所有空白
Java 程序替换字符串中所有出现的空格。
public class StringExample
{
public static void main(String[] args)
{
String str = "how to do in java provides java tutorials";
String newStr = str.replaceAll("\\s", "");
System.out.println(newStr);
}
}
程序输出:
howtodoinjavaprovidesjavatutorials
参考文献:
