Java字符串replace()方法
replace()
方法用新的字符/文本替换字符串中每个匹配的字符/文本。
示例
class Main {
public static void main(String[] args) {
String str1 = "bat ball";
// 将 b 替换为 c
System.out.println(str1.replace('b', 'c'));
}
}
// 输出: cat call
replace() 语法
replace()
方法的语法可以是
string.replace(char oldChar, char newChar)
或者
string.replace(CharSequence oldText, CharSequence newText)
这里,string
是 String
类的一个对象。
replace() 参数
要替换单个字符,replace()
方法需要以下两个参数:
- oldChar - 字符串中要被替换的字符
- newChar - 匹配字符将被此字符替换
要替换子字符串,replace()
方法需要以下两个参数:
- oldText - 字符串中要被替换的子字符串
- newText - 匹配的子字符串将被此字符串替换
replace() 返回值
replace()
方法返回一个新字符串,在该字符串中每个匹配的字符/文本都被新的字符/文本替换。
示例 1:Java String 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()
返回原始字符串。
示例 2:Java String replace() 子字符串
class Main {
public static void main(String[] args) {
String str1 = "C++ Programming";
// 所 有 "C++" 被替换为 "Java"
System.out.println(str1.replace("C++", "Java")); // Java Programming
// 所有 "aa" 被替换为 "zz"
System.out.println("aa bb aa zz".replace("aa", "zz")); // zz bb zz zz
// 字符串中没有的子字符串
System.out.println("Java".replace("C++", "C")); // Java
}
}
注意: 如果要替换的子字符串不在字符串中,replace()
返回原始字符串。
需要注意的是,replace()
方法从开始到结束替换子字符串。例如,
"zzz".replace("zz", "x") // xz
上述代码的输出是 xz,而不是 zx。这是因为 replace()
方法首先将第一个 zz 替换为 x。
如果你需要基于正则表达式替换子字符串,请使用 Java String replaceAll() 方法。