Ersetzen mehrerer Zeichen in String in Java

  1. Ersetzen mehrerer Zeichen in einer Zeichenkette mit replaceAll() in Java
  2. Ersetzen mehrerer Zeichen in einer Zeichenkette mit String.replace() in Java

String.replaceAll() und String.replace() sind zwei nützliche Methoden zum Ersetzen von Zeichen in einer Zeichenkette in Java. In diesem Artikel werden wir sehen, wie wir diese beiden Methoden verwenden können, um mehrere Zeichen in einer Zeichenkette zu ersetzen.

Die Methode replaceAll() kann dies allein mit Hilfe des regulären Ausdrucks tun, aber wenn wir keine regulären Ausdrücke verwenden wollen, können wir die Methode replace() verwenden.

Ersetzen mehrerer Zeichen in einer Zeichenkette mit replaceAll() in Java

Die Methode replaceAll() wird verwendet, wenn alle Vorkommen der angegebenen Zeichen ersetzt werden sollen. Wir können reguläre Ausdrücke verwenden, um das zu ersetzende Zeichen anzugeben. Diese Methode nimmt zwei Argumente entgegen, das erste ist das Muster des regulären Ausdrucks und das zweite ist das Zeichen, das wir ersetzen wollen.

Im folgenden Beispiel werden wir mehrere Zeichen mit Hilfe einiger gängiger regulärer Ausdrücke ersetzen.

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);

    }
}

Ausgabe:

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

In dem obigen Beispiel verwenden wir mehrere reguläre Ausdrücke, die häufig verwendet werden. Lassen Sie uns sehen, was sie bedeuten und wie sie funktionieren.

In stringUnderscoresForward sind alle Zeichen durch Unterstriche und Schrägstriche getrennt; wir werden sie alle durch einen Bindestrich (-) ersetzen. [char1 char2] ist der Regex, mit dem zwei Zeichen durch ein einzelnes Zeichen ersetzt werden. Wir können [_/] verwenden, um alle Unterstriche und Schrägstriche durch einen Bindestrich zu ersetzen.

stringWithDigits ist eine Zeichenkette mit zufälligen Alphabeten und einigen Ziffern dazwischen. Wir wollen jede Ziffer durch ein leeres Zeichen ersetzen. Dazu können wir die Escape-Sequenz \d verwenden, die die Ziffern umgeht. [\\d] wird als Regex verwendet, und das ersetzende Zeichen ist ein leeres Zeichen.

stringWithWhiteSpaces enthält Leerzeichen zwischen jedem Zeichen. Um die Leerzeichen zu entfernen, können wir sie durch leere Zeichen ersetzen. Leere Klammern mit Leerzeichen [ ] zeigen ein Leerzeichen in der Zeichenkette an.

Wir können auch [\\s] verwenden, um die Leerzeichen in einer Zeichenkette zu erhalten.

Die Zeichenkette stringWithLowerCase enthält sowohl die Klein- als auch die Großbuchstaben. Wir wollen jedes Kleinbuchstabenzeichen durch ein leeres Zeichen ersetzen. Wir verwenden [\\p{Lower}], das ein Regex ist, um alle Kleinbuchstaben zu erhalten.

Ersetzen mehrerer Zeichen in einer Zeichenkette mit String.replace() in Java

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);

    }
}

Ausgabe:

javajavajavajavajava

Verwandter Artikel - Java String

  • Binäre Zeichenkette in Int in Java umwandeln
  • Speichern einer Zeichenkette in einer Datei in Java