Heim  >  Artikel  >  Java  >  Wie kann ich mehrere Leerzeichen und führende/nachgestellte Leerzeichen in Java entfernen?

Wie kann ich mehrere Leerzeichen und führende/nachgestellte Leerzeichen in Java entfernen?

Susan Sarandon
Susan SarandonOriginal
2024-11-25 08:47:14215Durchsuche

How Can I Remove Multiple Spaces and Leading/Trailing Whitespace in Java?

Entfernen mehrerer Leerzeichen und führender/nachgestellter Leerzeichen in Java

Bei der Arbeit mit Zeichenfolgen in Java ist es oft notwendig, Leerzeichen zu manipulieren, um die Lesbarkeit zu verbessern und Konsistenz. Eine häufige Aufgabe besteht darin, mehrere Leerzeichen durch ein einzelnes Leerzeichen zu ersetzen und gleichzeitig Leerzeichen am Anfang und Ende einer Zeichenfolge zu entfernen.

Beginnen wir mit einem klassischen Beispiel: Konvertieren von „hello there“ in „hello there“.

Verwendung von trim() und replaceAll()

Ein einfacher Ansatz besteht darin, trim() und replaceAll() zu kombinieren. Methoden:

String before = " hello     there   ";
String after = before.trim().replaceAll(" +", " ");

Die trim()-Methode entfernt alle führenden und nachfolgenden Leerzeichen, während replaceAll() mehrere aufeinanderfolgende Leerzeichen (" ") durch ein einzelnes Leerzeichen ersetzt.

Regex -Nur Lösung

Es ist auch möglich, dies mit einem einzigen „replaceAll“ unter Verwendung von „regular“ zu erreichen Ausdrücke:

String result = before.replaceAll("^ +| +$|( )+", "");

Diese Regex hat drei alternative Muster:

  • "^ ": Entspricht einer beliebigen Leerzeichenfolge am Anfang der Zeichenfolge
  • " $ ": Entspricht jeder Leerzeichenfolge am Ende der Zeichenfolge
  • "( ) ": Entspricht jeder Leerzeichenfolge, die keinem der oben genannten entspricht (d. h. mehrere Leerzeichen in der Mitte)

Für jedes Muster erfasst $1 die leere Zeichenfolge (für führende/nachgestellte Leerzeichen) oder ein einzelnes Leerzeichen (für mehrere Leerzeichen in der Mitte).

Siehe auch

  • String.trim() für weitere Informationen zum Entfernen Leerzeichen
  • regular-expressions.info/Repetition für Details zu Regex-Wiederholungsmustern
  • regular-expressions.info/Anchors für Informationen zu Regex-Ankern

Das obige ist der detaillierte Inhalt vonWie kann ich mehrere Leerzeichen und führende/nachgestellte Leerzeichen in Java entfernen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn