📜  Java String replace()

📅  最后修改于: 2020-09-27 02:43:09             🧑  作者: Mango

java字符串处理replace()方法替换为新的字符 /文本字符串中的旧的字符 /文本的每个匹配出现。

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()方法。