在 Java 中替換字串中的多個字元

Rupam Yadav 2023年1月30日 2020年12月31日
  1. 在 Java 中使用 replaceAll() 替換字串中的多個字元
  2. 在 Java 中使用 String.replace() 替換字串中的多個字元
在 Java 中替換字串中的多個字元

String.replaceAll()String.replace() 是 Java 中替換字串中字元的兩個有用方法。在本文中,我們將看到如何使用這兩種方法來替換字串中的多個字元。

replaceAll() 可以使用正規表示式來完成這個任務,但如果我們不想使用正規表示式,我們可以使用 replace() 方法。

在 Java 中使用 replaceAll() 替換字串中的多個字元

replaceAll() 用於當我們想要替換所有指定字元時。我們可以使用正規表示式來指定要替換的字元。這個方法需要兩個引數,第一個是正規表示式模式,第二個是我們要放置的字元。

在下面的例子中,我們將使用一些常見的正規表示式來替換多個字元。

public class ReplaceAllChars {
    public static void main(String[] args) {

        String stringUnderscoresForward = "j_u_s_t_a_s/t/r/i/n/g";
        String stringWithDigits = "abcd12345efgh";
        String stringWithWhiteSpaces = "s t r i n g";
        String stringWithLowerCase = "This is a Lower Case String";

        String finalString1 = stringUnderscoresForward.replaceAll("[_/]", "-");
        String finalString2 = stringWithDigits.replaceAll("[\\d]", "");
        String finalString3 = stringWithWhiteSpaces.replaceAll("[ ]", "");
        String finalString4 = stringWithWhiteSpaces.replaceAll("[\\s]", "-");
        String finalString5 = stringWithLowerCase.replaceAll("[\\p{Lower}]", "");

        System.out.println("Old String: "+stringUnderscoresForward+" New String: "+finalString1);
        System.out.println("Old String: "+stringWithDigits+" New String: "+finalString2);
        System.out.println("Old String: "+stringWithWhiteSpaces+" New String: "+finalString3);
        System.out.println("Old String: "+stringWithLowerCase+" New String: "+finalString4);
        System.out.println("Old String: "+stringWithLowerCase+" New String: "+finalString5);

    }
}

輸出:

Old String: j_u_s_t_a_s/t/r/i/n/g --New String: j-u-s-t-a-s-t-r-i-n-g
Old String: abcd12345efgh --New String: abcdefgh
Old String: s t r i n g --New String: string
Old String: This is a Lower Case String --New String: s-t-r-i-n-g
Old String: This is a Lower Case String --New String: T   L C S

在上面的例子中,我們使用了多個常用的正規表示式。讓我們看看它們的含義和工作原理。

stringUnderscoresForward 中的每一個字元都由下劃線和斜線分隔,我們將用破折號(-)替換所有的字元。[char1 char2] 是用來用一個字元替換兩個字元的正規表示式。我們可以使用 [_/] 來替換所有的下劃線和斜線。

stringWithDigits 是一個包含隨機字母和它們之間的一些數字的字串。我們希望用一個空字元替換每一個數字。要做到這一點,我們可以使用/d 轉義序列來轉義數字。[\d] 將被用作一個正規表示式,替換的字元將是一個空字元。

stringWithWhiteSpaces 在每個字元之間都包含有空格。為了去除空格,我們可以用空字元替換它們。空括號中的空字元 [] 表示字串中的空格。

我們也可以使用 [\\s] 來獲取字串中的空白。

stringWithLowerCase 有小寫和大寫兩種字元。我們希望用一個空字元替換每個小寫字元。我們將使用 [\\p{Lower}],這是一個獲取所有小寫字元的正規表示式。

在 Java 中使用 String.replace() 替換字串中的多個字元

public class ReplaceAllChars {
    public static void main(String[] args) {
        String stringWithRandomChars = "javbjavcjadakavajavc";

        String finalString = stringWithRandomChars
                .replace("b", "a")
                .replace("c", "a")
                .replace("d", "v")
                .replace("k", "j");

        System.out.println(finalString);

    }
}

輸出:

javajavajavajavajava
Author: Rupam Yadav
Rupam Yadav avatar Rupam Yadav avatar

Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.

LinkedIn

相關文章 - Java String