Der beste Weg, Laub Spaces in einem String
Frage
Wie trimmen ich Räume im Inneren so dass nur noch ein Raum Berücksichtigung der Leistung zu nehmen?
Input: AA BB Output: AA BB Input: A A Output: A A
Lösung
System.out.println(" AA BB".replaceAll("\\s+", " ").trim());
Ausgabe:
AA BB
Hinweis: Im Gegensatz zu einigen der anderen Lösungen hier diese ersetzt auch eine einzelne Registerkarte mit einem einzigen Raum. Wenn Sie Sie verwenden können keine Tabs „{2,}“ statt, die noch schneller werden:
System.out.println(" AA BB".replaceAll(" {2,}", " ").trim());
Andere Tipps
Ersetzen Sie zwei oder mehrere Leerzeichen durch ein Leerzeichen "\\s{2,}"
" "
und trim()
tun danach von der loszuwerden führende und nachfolgende Leerzeichen, wie Sie im ersten Beispiel gezeigt.
output = input.replaceAll("\\s{2,}", " ").trim();
s = s.replaceAll("\\s+", " " ).trim();
"Hello a a g g a gag gs gs@".replaceAll( "[ ]+{2}", " ") ).trim();
Es gibt die richtigen Antworten hier, z.
s = s.replaceAll("\\s+", " " ).trim();
Aber ich denke, es ist auch wichtig, die richtige Frage zu wählen. Statt etwa zu fragen, einen String
mit regulären Ausdrücken Trimmen, warum nicht nur fragen, über die String
Trimmen und Leute erlauben, Ihnen die beste Strategie zu zeigen, zu beantworten?
Es kann auch bessere Möglichkeiten, Räume zum Einsturz als einen regulären Ausdruck zu verwenden. Sicherlich gibt es andere Wege.