Java String replace() 使用方法及示例 - Java教程

由网友 大卫 发布 阅读 14

Java String replace() 使用方法及示例 - Java教程

Java String(字符串) 方法

Java String replace()方法用 新的字符/文本 替换 字符串中每个匹配的旧字符/文本。

replace()方法的语法是

string.replace(char oldChar, char newChar)

string.replace(CharSequence oldText, CharSequence newText)

replace()参数

要替换单个字符,replace()方法采用以下两个参数:

  • oldChar - 字符串中要替换的字符

  • newChar - 匹配的字符被替换为该字符

要替换子字符串,replace()方法采用以下两个参数:

  • oldText - 字符串中要替换的子字符串

  • newText - 匹配的子字符串被替换为该字符串

replace()返回值

  • replace()方法返回一个新字符串,其中每次出现的匹配字符/文本都将替换为新字符/文本。

示例1:Java 字符串 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 字符串 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()方法

Java String(字符串) 方法

Java String length() Java String concat()