Ich möchte gerne einen String teilen
"first middle last"
mit String.split()
. Aber wenn ich versuche, es zu teilen, bekomme ich es
String[] array = {"first","","","","middle","","last"}
Ich habe versucht, mit String.isEmpty()
nach leeren Zeichenfolgen zu suchen, nachdem ich sie geteilt habe, aber es funktioniert nicht in Android. Hier ist mein Code:
String s = "First Middle Last";
String[] array = s.split(" ");
for(int i=0; i<array.length; i++) {
//displays segmented strings here
}
Ich denke, es gibt eine Möglichkeit, es so aufzuteilen: {"first","middle","last"}
kann aber nicht herausfinden, wie.
Danke für die Hilfe!
Da das Argument für split()
ein regulärer Ausdruck ist, können Sie nach einem oder mehreren Leerzeichen (" +"
) statt nur einem Leerzeichen (" "
) suchen.
String[] array = s.split(" +");
versuchen Sie es mit dieser s.split("\\s+");
wenn du einen String hast
String s = "This is a test string This is the next part This is the third part";
und möchten ein Array wie bekommen
String[] sArray = { "This is a test string", "This is the next part", "This is the third part" }
du solltest es versuchen
String[] sArray = s.split("\\s{2,}");
Der {2,}
-Teil definiert, dass mindestens 2 und bis fast unendlich viele Whitespace-Zeichen erforderlich sind, damit die Aufteilung erfolgen kann.
Das hat bei mir funktioniert.
s.split(/\s+/)
var foo = "first middle last";
console.log(foo.split(/\s+/));
Da split()
reguläre Ausdrücke verwendet, können Sie etwas wie s.split("\\s+")
verwenden, um das Trennzeichen auf eine beliebige Anzahl von Leerzeichen festzulegen.
Verwenden Sie etwas, das von Android SDK standardmäßig bereitgestellt wird.
TextUtils.split(stringToSplit, " +");