在 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 Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn