replaceFirst()
方法的语法为:
string.replaceFirst(String regex, String replacement)
在这里, 字符串是String
类的对象。
replaceFirst()参数
replaceFirst()
方法采用两个参数。
- regex-要替换的正则表达式(可以是典型的字符串)
- 替换 -第一个匹配的子字符串被替换为该字符串
replaceFirst()返回值
-
replaceFirst()
方法返回一个新字符串 ,其中匹配子字符串的第一个匹配项将替换为替换 字符串。
示例1:Java字符串replaceFirst()
class Main {
public static void main(String[] args) {
String str1 = "aabbaaac";
String str2 = "Learn223Java55@";
// regex for sequence of digits
String regex = "\\d+";
// the first occurrence of "aa" is replaced with "zz"
System.out.println(str1.replaceFirst("aa", "zz")); // zzbbaaac
// replace the first sequence of digits with a whitespace
System.out.println(str2.replaceFirst(regex, " ")); // Learn Java55@
}
}
在上面的示例中, "\\d+"
是与数字序列匹配的正则表达式。要了解更多信息,请访问Java regex 。
在replaceFirst()中转义字符
replaceFirst()
方法可以使用正则表达式或典型字符串作为第一个参数。这是因为典型的字符串本身就是正则表达式。
在正则表达式中,有些字符具有特殊含义。这些元字符是:
\ ^ $ . | ? * + {} [] ()
如果您需要匹配包含这些元字符的子字符串,则可以使用\
来转义这些字符 。
// Program to the first + character
class Main {
public static void main(String[] args) {
String str = "a+a-++b";
// replace the first "+" with "#"
System.out.println(str.replaceFirst("\\+", "#")); // a#a-++b
}
}
如果需要替换与正则表达式匹配的每个子字符串,请使用Java String replaceAll()方法。