跳到主要内容

Java 字符串 replaceFirst() 方法

replaceFirst() 方法的语法是:

string.replaceFirst(String regex, String replacement)

这里,stringString 类的一个对象。

replaceFirst() 参数

replaceFirst() 方法接受两个参数。

  • regex - 一个正则表达式(可以是一个普通字符串),将被替换
  • replacement - 第一个匹配的子字符串将被此字符串替换

replaceFirst() 返回值

  • replaceFirst() 方法返回一个新字符串,在该字符串中第一次出现的匹配子字符串被 replacement 字符串替换。

示例 1:Java String replaceFirst()

class Main {
public static void main(String[] args) {
String str1 = "aabbaaac";
String str2 = "Learn223Java55@";

// 数字序列的正则表达式
String regex = "\\d+";

// 将 "aa" 的第一次出现替换为 "zz"
System.out.println(str1.replaceFirst("aa", "zz")); // zzbbaaac

// 将第一次出现的数字序列替换为一个空格
System.out.println(str2.replaceFirst(regex, " ")); // Learn Java55@
}
}

在上面的示例中,"\\d+" 是一个正则表达式,匹配数字序列。要了解更多,请访问 Java regex

replaceFirst() 中转义字符

replaceFirst() 方法的第一个参数可以是一个正则表达式或一个普通字符串。这是因为普通字符串本身就是一个正则表达式。

在正则表达式中,有些字符具有特殊含义。这些元字符包括:

\ ^ $ . | ? * + {} [] ()

如果你需要匹配包含这些元字符的子字符串,你可以使用 \ 来转义这些字符。

// 程序替换第一个 + 字符
class Main {
public static void main(String[] args) {
String str = "a+a-++b";

// 将第一个 "+" 替换为 "#"
System.out.println(str.replaceFirst("\\+", "#")); // a#a-++b

}
}

如果你需要替换每个与正则表达式匹配的子字符串,请使用 Java String replaceAll() 方法