Java String replaceFirst()方法用指定的文本替换与字符串的正则表达式匹配的第一个子字符串。
replaceFirst()方法的语法为:
string.replaceFirst(String regex, String replacement)
replaceFirst()方法有两个参数。
regex - 要替换的正则表达式(可以是典型的字符串)
replace - 将第一个匹配的子字符串替换为此字符串
replaceFirst()方法返回一个新字符串,其中匹配子字符串的第一个匹配项将替换为替换字符串(replacement)。
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+"是匹配数字序列的正则表达式。
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()方法。