Manchmal müssen wir Zeichen aus String in Java-Programm entfernen. Die Java String-Klasse verfügt jedoch nicht über die Methode remove()
. Wie würden Sie das erreichen?
Java Zeichen aus Zeichenfolge entfernen
Wenn Sie die String-Klasse bemerken, haben wir replace()
Methoden mit unterschiedlichen Variationen. Mal sehen, was alle überladenen replace() Methoden String-Klasse hat;
-
replace(char oldChar, char newChar)
: Gibt einen String zurück, der sich aus dem Ersetzen aller Vorkommen von oldChar in diesem String durch newChar ergibt. -
replace(CharSequence target, CharSequence replacement)
: Ersetzt jede Teilzeichenfolge dieser Zeichenfolge, die der literalen Zielsequenz entspricht, durch die angegebene literale Ersetzungssequenz. -
replaceFirst(String regex, String replacement)
: Ersetzt die erste Teilzeichenfolge dieser Zeichenfolge, die dem angegebenen regulären Ausdruck entspricht, durch die angegebene Ersetzung. -
replaceAll(String regex, String replacement)
: Ersetzt jede Teilzeichenfolge dieser Zeichenfolge, die dem angegebenen regulären Ausdruck entspricht, durch die angegebene Ersetzung.
Können wir also replace('x','');
verwenden? Wenn Sie dies versuchen, erhalten Sie den Compilerfehler Invalid character constant
. Wir müssen also andere Ersetzungsmethoden verwenden, die Zeichenfolgen verwenden, da wir „“ als leere Zeichenfolge angeben können, die ersetzt werden soll.
Java String Remove Character Example
Das folgende Code-Snippet zeigt, wie alle Vorkommen eines Zeichens aus der angegebenen Zeichenfolge entfernt werden.
String str = "abcdDCBA123";String strNew = str.replace("a", ""); // strNew is 'bcdDCBA123'
Java Teilzeichenfolge aus Zeichenfolge entfernen
Mal sehen, wie das erste Auftreten von „ab“ aus der Zeichenfolge entfernt wird.
String str = "abcdDCBA123";String strNew = str.replaceFirst("ab", ""); // strNew is 'cdDCBA123'
Beachten Sie, dass replaceAll
und replaceFirst
Methoden erstes Argument ein regulärer Ausdruck ist, können wir es verwenden, um ein Muster von String zu entfernen. Das folgende Code-Snippet entfernt alle Kleinbuchstaben aus der Zeichenfolge.
String str = "abcdDCBA123";String strNew = str.replaceAll("()", ""); // strNew is 'DCBA123'
Java Leerzeichen aus Zeichenfolge entfernen
String str = "Hello World Java Users";String strNew = str.replace(" ", ""); //strNew is 'HelloWorldJavaUsers'
Java Letztes Zeichen aus Zeichenfolge entfernen
Es gibt keine Methode zum Ersetzen oder Entfernen des letzten Zeichens aus Zeichenfolge, aber wir können dies mit der String-Teilzeichenfolgemethode tun.
String str = "Hello World!";String strNew = str.substring(0, str.length()-1); //strNew is 'Hello World'
Java String Remove Character and String Example
Hier ist die vollständige Java-Klasse für die oben gezeigten Beispiele.
package com.journaldev.examples;public class JavaStringRemove {public static void main(String args) {String str = "abcdDCBA123";System.out.println("String after Removing 'a' = "+str.replace("a", ""));System.out.println("String after Removing First 'a' = "+str.replaceFirst("ab", ""));System.out.println("String after replacing all small letters = "+str.replaceAll("()", ""));}}
Die vom obigen Programm erzeugte Ausgabe ist:
String after Removing 'a' = bcdDCBA123String after Removing First 'a' = cdDCBA123String after replacing all small letters = DCBA123
Das ist alles zum Entfernen von Zeichen oder Teilzeichenfolgen aus Zeichenfolgen in Java-Programmen.