Was muss mein code Aussehen, um Sie zu entfernen von Leerzeichen in einem String in java?
Was muss mein code Aussehen, um Sie zu entfernen von Leerzeichen in einem String in Java?
Ich habe versucht, die folgenden:
/* Option 1 */ String x=splitString.replaceAll("\\s+","");
/* Option 2 */ String x=splitString.trim()
Weder dieser mir das Ergebnis ich erwarte.
- erklären funktioniert nicht, weil die erste würde sicherlich ersetzen Sie alle Leerzeichen.
- Sie möchten, entfernen Sie alle Leerzeichen oder nur Links und rechts beschneiden?
- nur um es klar zu sagen: x hat keine Leerzeichen nach dem Aufruf der Methode. splitString bleibt die gleiche wie Strings sind unveränderlich in java
- versuchen splitString.replace(' ',");
- In der Tat, eine schlecht gestellte Frage auf ein Thema, das viele Menschen verstehen, scheint zu generieren, die eine Menge von Aktivitäten!
- Nur Links entfernen von Leerraum
- Ja erkläre wat nicht funktioniert ..
- Meinst du, das zu tun -
splitString = splitString.replaceAll("\\s+","");
? - st.replaceAll("\\s+","")--> dieser ich bin mir sicher, dass das funktioniert, ich benutze es...vielleicht auch der Grund ist, das sagt @Marco
- Ya ich weiß aber auch nicht funktioniert
- Es klingt für mich wie Sie haben eine potenziell non-breaking Leerzeichen, die nicht entfernt werden durch trim() oder ergänzt durch \en. Versuchen Sie den Druck aus den int-Wert der Raum, dies zu überprüfen.
@Panchotiya Vipul
schreiben Sie Ihren Text auf, die Sie entfernen möchten Leerzeichen..- Mindestens post die Zeichenfolge, so dass es eine klare Vorstellung davon, warum replaceAll funktioniert nicht.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die kleine Armee von Menschen, die denken, dass
\s
entspricht alle Leerzeichen sind ganz einfach falsch! Die Suche in den docs können wir sehen, dass es passt[ \t\n\x0B\f\r]
- ein Haufen von brechen Leerzeichen (oder in anderen Worten, einfach nur alte gewöhnliche Leerzeichen.)Ebenso
trim()
nicht mit dem übereinstimmt, werden alle whitespace-Zeichen, die entweder (das ist noch schlimmer, es entspricht allen Zeichen, die einen Wert <= Raum, von denen die meisten nicht technisch Leerzeichen) - geben Sie ein Beispiel mit Leerzeichen vor und nach einem string aufrufentrim()
auf es, ist nicht, einen umfassenden test von einer Strecke der Phantasie.Angesichts der oben genannten, die (regex basiert) - code, den Sie haben, wird definitiv Streifen brechen alle Leerzeichen aus dem string, so klingt es für mich wie Sie haben eine potenziell non-breaking Leerzeichen drin. Dies ist besonders wahrscheinlich der Fall sein, wenn Sie gezogen haben, was text ist es aus einer externen Quelle, anstatt nur zu schreiben, die den string im code (ein Teil einer HTML-Seite zum Beispiel kann der wahrscheinlichste Kandidat.)
Wenn dies der Fall ist, dann versuchen Sie :
...wo
\p{Z}
ist eine Abkürzung für das passende alle Art von whitespaces, nicht nur non breaking spaces.\p{Separator}
ist seine mehr (gleichwertige) form."\\p{Z}"
Muster, aber eine "PatternSyntaxException" in Java 7. Allerdings"[ \\t\\n\\x0B\\f\\r]"
(fliehen muss backslashes in Regex) arbeiten.Versuchen, diesen code wird dir helfen!