Teilen Sie die Zeichenfolge in ein Array von Zeichenketten
Muss ich split einen String in ein array von einzelnen Zeichen, Zeichenfolgen.
ZB splitting "Katze" geben würde das array "c", "a", "t"
InformationsquelleAutor der Frage Matt | 2011-03-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Diese produzieren
InformationsquelleAutor der Antwort coberty
Aber wenn Sie benötigen, Streicher
Edit: wird wieder eine leere erste Wert.
InformationsquelleAutor der Antwort Yuriy Faktorovich
InformationsquelleAutor der Antwort Raman
Werfen Sie einen Blick auf die String-Klasse ist getChars() Methode.
InformationsquelleAutor der Antwort J. Taylor
Wenn Zeichen über Basic Multilingual Plane sind bei der Eingabe erwartet (einige CJK-Zeichen, neue emoji...), Ansätze wie
"a?b".split("(?!^)")
nicht verwendet werden, da Sie brechen solche Zeichen (Ergebnisse inarray ["a", "?", "?", "b"]
) und etwas sicherer:InformationsquelleAutor der Antwort Jan Molnar
Summe bis die anderen Antworten...
Diese funktioniert auf allen Java-Versionen:
Dies funktioniert nur auf Java 8:
InformationsquelleAutor der Antwort Lezorte
Eine effiziente Möglichkeit, aus einem String in ein array von Zeichen-Strings wäre, dies zu tun:
Allerdings bedeutet dies nicht die Tatsache zu berücksichtigen, dass ein
char
imString
könnte tatsächlich repräsentieren die Hälfte der ein Unicode-code-point. (Wenn der code-point ist nicht in der BMP.) Um damit umzugehen, müssen Sie Durchlaufen die code-Punkte ... das ist komplizierter.Dieser Ansatz wird schneller sein als mit
String.split(/* clever regex*/)
und es ist wahrscheinlich schneller als mit Java 8+ streams. Es ist wahrscheinlich schneller als dieses:weil
toCharArray
hat kopieren das Zeichen zu einem neuen array.InformationsquelleAutor der Antwort Stephen C
Wenn die ursprüngliche Zeichenfolge enthält zusätzliche Unicode-Zeichendann
split()
würde nicht funktionieren, so teilt es diese Zeichen in ersatzzeichenpaare. Um richtig zu behandeln diese speziellen Zeichen, ein code, wie das funktioniert:InformationsquelleAutor der Antwort Daniel Nitzan
Vielleicht können Sie verwenden eine for-Schleife durchläuft den String-Inhalt und extrahieren von Zeichen durch Zeichen, die mit der
charAt
Methode.Kombiniert mit einer
ArrayList<String>
zum Beispiel können Sie Ihr array von einzelnen Zeichen.InformationsquelleAutor der Antwort reef
InformationsquelleAutor der Antwort JV More