Java String replace()方法用 新的字符/文本 替換 字符串中每個(gè)匹配的舊字符/文本。
replace()方法的語法是
string.replace(char oldChar, char newChar)
或
string.replace(CharSequence oldText, CharSequence newText)
要替換單個(gè)字符,replace()方法采用以下兩個(gè)參數(shù):
oldChar - 字符串中要替換的字符
newChar - 匹配的字符被替換為該字符
要替換子字符串,replace()方法采用以下兩個(gè)參數(shù):
oldText - 字符串中要替換的子字符串
newText - 匹配的子字符串被替換為該字符串
replace()方法返回一個(gè)新字符串,其中每次出現(xiàn)的匹配字符/文本都將替換為新字符/文本。
class Main { public static void main(String[] args) { String str1 = "abc cba"; //所有出現(xiàn)的“ a”都替換為“ z” System.out.println(str1.replace('a', 'z')); // zbc cbz //所有出現(xiàn)的“ L”都替換為“ J” System.out.println("Lava".replace('L', 'J')); // Java //字符不在字符串中 System.out.println("Hello".replace('4', 'J')); // Hello } }
注意:如果要替換的字符不在字符串中,則replace()返回原始字符串。
class Main { public static void main(String[] args) { String str1 = "C++ Programming"; //所有出現(xiàn)的“c++”都被替換為“Java” System.out.println(str1.replace("C++", "Java")); // Java Programming //所有出現(xiàn)的“ a”都替換為“ zz” System.out.println("aa bb aa zz".replace("aa", "zz")); // zz bb aa zz // 子字符串不在字符串中 System.out.println("Java".replace("C++", "C")); // Java } }
注意:如果要替換的子字符串不在字符串中,則replace()返回原始字符串。
需要注意的是,replace()方法替換了從頭到尾的子字符串。例如,
"zzz".replace("zz", "x") // xz
上面代碼的輸出是xz,而不是zx。 這是因?yàn)閞eplace()方法將第一個(gè)zz替換為x
如果需要基于正則表達(dá)式替換子字符串,請使用Java String replaceAll()方法。