Je veux diviser une chaîne comme
"first middle last"
avec String.split()
. Mais quand j'essaye de le scinder, je reçois
String[] array = {"first","","","","middle","","last"}
J'ai essayé d'utiliser String.isEmpty()
pour vérifier les chaînes vides après les avoir divisées, mais cela ne fonctionne pas sous Android. Voici mon code:
String s = "First Middle Last";
String[] array = s.split(" ");
for(int i=0; i<array.length; i++) {
//displays segmented strings here
}
Je pense qu'il y a un moyen de le diviser comme ceci: {"first","middle","last"}
mais je ne peux pas comprendre comment.
Merci pour l'aide!
essayez d'utiliser cette s.split("\\s+");
si vous avez une ficelle comme
String s = "This is a test string This is the next part This is the third part";
et veulent obtenir un tableau comme
String[] sArray = { "This is a test string", "This is the next part", "This is the third part" }
tu devrais essayer
String[] sArray = s.split("\\s{2,}");
La partie {2,}
définit qu'au moins 2 et jusqu'à l'infini des espaces sont nécessaires pour que le fractionnement se produise.
Cela a fonctionné pour moi.
s.split(/\s+/)
var foo = "first middle last";
console.log(foo.split(/\s+/));
Étant donné que split()
utilise expressions régulières , vous pouvez utiliser quelque chose comme s.split("\\s+")
pour définir le délimiteur de division sur un nombre quelconque de caractères d'espacement.
Que diriez-vous d'utiliser quelque chose qui est fourni par le SDK Android.
TextUtils.split(stringToSplit, " +");