Java String replace()方法用 新的字符/文本 替换 字符串中每个匹配的旧字符/文本。
replace()方法的语法是
string.replace(char oldChar, char newChar)
或
string.replace(CharSequence oldText, CharSequence newText)
要替换单个字符,replace()方法采用以下两个参数:
oldChar - 字符串中要替换的字符
newChar - 匹配的字符被替换为该字符
要替换子字符串,replace()方法采用以下两个参数:
oldText - 字符串中要替换的子字符串
newText - 匹配的子字符串被替换为该字符串
replace()方法返回一个新字符串,其中每次出现的匹配字符/文本都将替换为新字符/文本。
class Main { public static void main(String[] args) { String str1 = "abc cba"; //所有出现的“ a”都替换为“ z” System.out.println(str1.replace('a', 'z')); // zbc cbz //所有出现的“ 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"; //所有出现的“c++”都被替换为“Java” System.out.println(str1.replace("C++", "Java")); // Java Programming //所有出现的“ 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。 这是因为replace()方法将第一个zz替换为x
如果需要基于正则表达式替换子字符串,请使用Java String replaceAll()方法。