Für den Zugriff auf einzelne Zeichen eines Strings in Java haben wir String.charAt(2)
. Gibt es eine eingebaute Funktion, um ein einzelnes Zeichen eines Strings in Java zu entfernen?
Etwas wie das:
if(String.charAt(1) == String.charAt(2){
//I want to remove the individual character at index 2.
}
couple
vonsubstring
und tunindexOf
. Dadurch wird jedoch ein neues Zeichenfolgenobjekt erstellt.Antworten:
Sie können auch die veränderbare
StringBuilder
Klasse verwenden.Es hat die Methode
deleteCharAt()
, zusammen mit vielen anderen Mutator-Methoden.Löschen Sie einfach die Zeichen, die Sie löschen müssen, und erhalten Sie das Ergebnis wie folgt:
Dadurch wird vermieden, dass unnötige Zeichenfolgenobjekte erstellt werden.
quelle
String numbers = "0123456789"; char c = '2'; numbers = numbers.replace(c, Character.MIN_VALUE);
Ich möchte das '' Zeichen (leer) ersetzenEine Möglichkeit:
Beachten Sie, dass das Ergebnis ein neuer String ist (sowie zwei zwischengeschaltete String-Objekte), da Strings in Java unveränderlich sind.
quelle
Sie können die Java-String-Methode "replace" verwenden, die alle Zeichen, die mit dem ersten Parameter übereinstimmen, durch den zweiten Parameter ersetzt:
quelle
Nein, da Strings in Java unveränderlich sind. Sie müssen eine neue Zeichenfolge erstellen, um das nicht gewünschte Zeichen zu entfernen.
Gehen Sie wie folgt vor, um ein einzelnes Zeichen
c
an der Indexpositionidx
in der Zeichenfolge zu ersetzenstr
, und denken Sie daran, dass eine neue Zeichenfolge erstellt wird:quelle
deleteCharAt ()
ersetzen()
verkohlen[]
quelle
Betrachten Sie den folgenden Code:
quelle
Sie können auch die (riesige) Regexp-Maschine verwenden.
"(?s)" -
weist regexp an, Zeilenumbrüche wie normale Zeichen zu behandeln (nur für den Fall)."(.{2})" -
Gruppe $ 1 sammelt genau 2 Zeichen"." -
ein beliebiges Zeichen bei Index 2 (herausgedrückt werden)."(.*)" -
Gruppe $ 2, die den Rest des inputString sammelt."$1$2" -
Gruppe $ 1 und Gruppe $ 2 zusammenfügen.quelle
Lesen Sie zum Ändern von Strings Informationen zu StringBuilder, da dieser mit Ausnahme des unveränderlichen Strings veränderbar ist. Verschiedene Vorgänge finden Sie hier https://docs.oracle.com/javase/tutorial/java/data/buffers.html . Das folgende Codefragment erstellt einen StringBuilder, hängt den angegebenen String an und löscht dann das erste Zeichen aus dem String und konvertiert es dann wieder aus dem StringBuilder in einen String.
quelle
Verwenden Sie die replaceFirst-Funktion der String-Klasse. Es gibt so viele Varianten der Ersetzungsfunktion, die Sie verwenden können.
quelle
Wenn Sie eine logische Kontrolle über das Entfernen von Zeichen benötigen, verwenden Sie diese
Wenn Sie keine solche Kontrolle benötigen, können Sie das verwenden, was Oscar oder Bhesh erwähnt haben. Sie sind genau richtig.
quelle
Mit der Methode replace können wir ein einzelnes Zeichen der Zeichenfolge ändern.
quelle
Der einfachste Weg, ein Zeichen aus einem String zu entfernen
quelle
quelle
In den meisten Anwendungsfällen ist die Verwendung von
StringBuilder
odersubstring
ein guter Ansatz (wie bereits beantwortet). Für leistungskritischen Code kann dies jedoch eine gute Alternative sein.quelle
* Sie können den Zeichenfolgenwert mit dem StringBuilder und deletecharAt löschen.
quelle
Ja. Wir haben eine eingebaute Funktion, um ein einzelnes Zeichen einer Zeichenfolge in Java zu entfernen, dh deleteCharAt
Beispielsweise,
Ausgabe
quelle
Wenn Sie ein Zeichen aus einem String str an einem bestimmten int- Index entfernen möchten :
quelle
quelle
quelle
Wenn ich solche Fragen habe, frage ich immer: "Was würden die Java-Gurus tun?" :) :)
Und ich würde das in diesem Fall beantworten, indem ich mir die Implementierung von anschaue
String.trim()
.Hier ist eine Extrapolation dieser Implementierung, mit der mehr Trimmzeichen verwendet werden können.
Beachten Sie jedoch, dass beim ursprünglichen Zuschneiden tatsächlich alle Zeichen entfernt
<= ' '
werden. Daher müssen Sie dies möglicherweise mit dem Original kombinieren, um das gewünschte Ergebnis zu erzielen.quelle
quelle
Um ein einzelnes Zeichen aus der angegebenen Zeichenfolge zu entfernen, finden Sie bitte meine Methode, die hoffentlich nützlich ist. Ich habe str.replaceAll verwendet, um die Zeichenfolge zu entfernen, aber es gibt viele Möglichkeiten, ein Zeichen aus einer bestimmten Zeichenfolge zu entfernen, aber ich bevorzuge die Methode "Ersetzen".
Code zum Entfernen von Zeichen:
Konsolenbild:
finden Sie das beigefügte Bild der Konsole,
Danke für die Frage. :) :)
quelle
Ich habe gerade diese Dienstprogrammklasse implementiert, die ein Zeichen oder eine Gruppe von Zeichen aus einem String entfernt . Ich denke, es ist schnell, weil Regexp nicht verwendet wird. Ich hoffe, dass es jemandem hilft!
Dies ist die Ausgabe:
quelle
Wenn Sie beispielsweise berechnen möchten, wie viele A in der Zeichenfolge vorhanden sind, können Sie dies folgendermaßen tun:
quelle