原文: 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
参考文献: