ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# Java `String.replaceAll()`方法示例 > 原文: [https://howtodoinjava.com/java/string/java-string-replaceall-example/](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 方法语法 ```java /** * @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`。 在给定的示例中,`"["`是无效的正则表达式。 ```java public class StringExample { public static void main(String[] args) { String newStr = "hello world".replaceAll("[", ""); } } ``` 程序输出。 ```java 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`”。 ```java 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); } } ``` 程序输出: ```java how to do in scala provides scala tutorials ``` ## 2.2 替换所有空白 Java 程序替换字符串中所有出现的空格。 ```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); } } ``` 程序输出: ```java howtodoinjavaprovidesjavatutorials ``` 参考文献: [Java 字符串指南](https://howtodoinjava.com/java-string/) [`String` Java 文档](https://docs.oracle.com/javase/9/docs/api/java/lang/String.html)