Heim > Java > javaLernprogramm > Wie kann ich in Java effizient mehrere Leerzeichen entfernen und führende/nachgestellte Leerzeichen kürzen?

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

Susan Sarandon
Freigeben: 2024-11-30 09:55:11
Original
546 Leute haben es durchsucht

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

Java: Ersetzen mehrerer Leerzeichen durch einzelnes Leerzeichen und Trimmen führender und nachfolgender Leerzeichen

Um die Aufgabe zu bewältigen, mehrere Leerzeichen auf ein einziges Leerzeichen zu reduzieren und das Eliminieren von führenden und nachgestellten Leerzeichen haben wir mehrere Java-Lösungen.

Lösung 1: Verwenden von trim() und replaceAll()

Diese Lösung verwendet die trim()-Methode, um die führenden und nachgestellten Leerzeichen zu entfernen, gefolgt von replaceAll(), um mehrere Leerzeichen zu einem einzigen Leerzeichen zusammenzufassen:

String after = before.trim().replaceAll(" +", " ");
Nach dem Login kopieren

Lösung 2: Nur Regex

Obwohl weniger lesbar, ist es möglich, das Problem mit einem einzigen replaceAll() unter Verwendung von a zu lösen komplexer regulärer Ausdruck:

String[] tests = {
  "  x  ",      
  "  1   2   3  ",  
  "",             
  "   ",          
};
for (String test : tests) {
  System.out.format("[%s]%n",
      test.replaceAll("^ +| +$|( )+", "")
  );
}
Nach dem Login kopieren

Lösungsdetails

  • Lösung 1: trim() entfernt alle führenden und nachfolgenden Leerzeichen, while replaceAll() ersetzt aufeinanderfolgende Leerzeichen durch ein einzelnes Leerzeichen.
  • Lösung 2: Die Regex erzielt das gleiche Ergebnis in einem einzigen Schritt. Es gleicht Sequenzen von Leerzeichen am Anfang, Ende oder in der Mitte der Zeichenfolge ab und ersetzt sie entweder durch eine leere Zeichenfolge (um zusätzliche Leerzeichen zu entfernen) oder durch ein einzelnes erfasstes Leerzeichen (um einzelne Leerzeichen intakt zu halten).

Zusätzliche Ressourcen

  • [String.trim() Dokumentation](https://docs.oracle.com/javase/7/docs/api/java/lang/String.html#trim--)
  • [Wiederholungsmuster für reguläre Ausdrücke](https:// www.regular-expressions.info/Repetition)
  • [Regulärer Ausdruck Anker](https://www.regular-expressions.info/Anchors)

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

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage