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

Rupam Yadav 2023年10月12日
  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
作者: 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