Java 字符串 replaceFirst() 方法
replaceFirst()
方法的语法是:
string.replaceFirst(String regex, String replacement)
这里,string
是 String
类的一个对象。
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() 方法。