replace()
方法的语法为
string.replace(char oldChar, char newChar)
要么
string.replace(CharSequence oldText, CharSequence newText)
在这里, 字符串是String
类的对象。
replace()参数
要替换单个字符, replace()
方法采用以下两个参数:
- oldChar – 字符的字符串替换
- newChar-匹配的字符被替换为该字符
要替换子字符串, replace()
方法采用以下两个参数:
- oldText-字符串中要替换的子字符串
- newText-匹配的子字符串替换为此字符串
replace()返回值
-
replace()
方法返回一个新字符串 ,其中每次出现的匹配字符/ text都会被新字符/ text替换。
示例1:Java字符串replace() 字符
class Main {
public static void main(String[] args) {
String str1 = "abc cba";
// all occurrences of 'a' is replaced with 'z'
System.out.println(str1.replace('a', 'z')); // zbc cbz
// all occurences of 'L' is replaced with 'J'
System.out.println("Lava".replace('L', 'J')); // Java
// character not in the string
System.out.println("Hello".replace('4', 'J')); // Hello
}
}
注意:如果要替换的字符不在字符串,则replace()
返回原始字符串。
示例2:Java字符串replace()子字符串
class Main {
public static void main(String[] args) {
String str1 = "C++ Programming";
// all occurrences of "C++" is replaced with "Java"
System.out.println(str1.replace("C++", "Java")); // Java Programming
// all occurences of "aa" is replaced with "zz"
System.out.println("aa bb aa zz".replace("aa", "zz")); // zz bb aa zz
// substring not in the string
System.out.println("Java".replace("C++", "C")); // Java
}
}
注意:如果要替换的子字符串不在字符串,则replace()
返回原始字符串。
重要的是要注意, replace()
方法将替换从头到尾的子字符串。例如,
"zzz".replace("zz", "x") // xz
上面代码的输出是xz ,而不是zx 。这是因为replace()
方法将第一个zz替换为x 。
如果需要基于正则表达式替换子字符串,请使用Java String replaceAll()方法。