Java String replaceFirst()方法用指定的文本替換與字符串的正則表達(dá)式匹配的第一個(gè)子字符串。
replaceFirst()方法的語(yǔ)法為:
string.replaceFirst(String regex, String replacement)
replaceFirst()方法有兩個(gè)參數(shù)。
regex - 要替換的正則表達(dá)式(可以是典型的字符串)
replace - 將第一個(gè)匹配的子字符串替換為此字符串
replaceFirst()方法返回一個(gè)新字符串,其中匹配子字符串的第一個(gè)匹配項(xiàng)將替換為替換字符串(replacement)。
class Main { public static void main(String[] args) { String str1 = "aabbaaac"; String str2 = "Learn223Java55@"; //表示數(shù)字序列的正則表達(dá)式 String regex = "\\d+"; //第一次出現(xiàn)的“aa”被替換為“zz” System.out.println(str1.replaceFirst("aa", "zz")); // zzbbaaac //將第一個(gè)數(shù)字序列替換為空格 System.out.println(str2.replaceFirst(regex, " ")); // Learn Java55@ } }
在上面的示例中,"\\d+"是匹配數(shù)字序列的正則表達(dá)式。
replaceFirst()方法可以使用正則表達(dá)式或典型字符串作為第一個(gè)參數(shù)。這是因?yàn)榈湫偷淖址旧砭褪钦齽t表達(dá)式。
在正則表達(dá)式中,有些字符具有特殊含義。這些元字符是:
\ ^ $ . | ? * + {} [] ()
如果您需要匹配包含這些元字符的子字符串,則可以使用來(lái)轉(zhuǎn)義這些字符\。
//程序的第一個(gè) + 字符 class Main { public static void main(String[] args) { String str = "a+a-++b"; //用“#”替換第一個(gè)“ +” System.out.println(str.replaceFirst("\\+", "#")); // a#a-++b } }
如果需要替換與正則表達(dá)式匹配的每個(gè)子字符串,請(qǐng)使用Java String replaceAll()方法。