Skip to content

Latest commit

 

History

History
118 lines (83 loc) · 2.97 KB

251.md

File metadata and controls

118 lines (83 loc) · 2.97 KB

Java String.replaceAll()方法示例

原文: 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

参考文献:

Java 字符串指南 String Java 文档