Java String replaceAll() 使用方法及示例

Java String replaceAll()方法用指定的文本替换与字符串的正则表达式匹配的每个子字符串。

replaceAll()方法的语法为:

string.replaceAll(String regex, String replacement)

replaceAll()参数

replaceAll()方法有两个参数。regex - 要替换的正则表达式(可以是典型的字符串)

replacement - 匹配的子字符串被替换为该字符串

replaceAll()返回值replaceAll()方法返回一个新字符串,其中每次匹配子字符串的出现都替换为替换字符串(replacement)。

示例1:Java 字符串 replaceAll() 方法

示例

class Main {

public static void main(String[] args) {

String str1 = "aabbaaac";

String str2 = "Learn223Java55@";

//表示数字序列的正则表达式

String regex = "\\d+";

//所有出现的“aa”都换成“zz”

System.out.println(str1.replaceAll("aa", "zz")); // zzbbzzac

//用空格替换数字或数字序列

System.out.println(str2.replaceAll(regex, " ")); // Learn Java @

}

}

在上面的示例中,"\\d+" 是一个匹配一个或多个数字的正则表达式。

在replaceAll()中转义字符

replaceAll()方法可以采用一个正则表达式或一个典型字符串作为第一个参数。这是因为一个典型的字符串本身就是一个正则表达式。

在正则表达式中,有些字符具有特殊含义。这些元字符是:\ ^ $ . | ? * + {} [] ()

如果需要匹配包含这些元字符的子字符串,则可以使用\或使用replace()方法对这些字符进行转义。

示例

// Program to replace the + character

class Main {

public static void main(String[] args) {

String str1 = "+a-+b";

String str2 = "Learn223Java55@";

String regex = "\\+";

// 将 "+" 替换"#" 使用 replaceAll()方法

使用replaceAll()将“ +”替换为“#”

System.out.println(str1.replaceAll("\\+", "#")); // #a-#b

// 替换"+" 为 "#" 使用 replace()

System.out.println(str1.replace("+", "#")); // #a-#b

}

}

正如您看到的,当我们使用replace()方法时,我们不需要转义元字符。要了解更多信息,请访问:Java String replace()

如果只需要替换匹配子字符串的第一个匹配项,请使用Java String replaceFirst()方法。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐