Comment puis-je découper une chaîne en plusieurs parties?
J'ai une chaîne avec plusieurs mots séparés par des espaces, par exemple "firstword deuxième tiers", et une liste de tableaux. Je veux diviser la chaîne en plusieurs morceaux, et ajoutez de la "pièce" les chaînes de la liste de tableaux.
Par exemple,"firstword deuxième tiers" peut être découpé en trois chaînes distinctes , de sorte que la liste de tableaux aurait 3 éléments; "1 2 3 4" peut être divisé en 4 cordes, dans les 4 éléments de la liste de tableaux. Voir le code ci-dessous:
public void separateAndAdd(String notseparated) {
for(int i=0;i<canBeSepartedinto(notseparated);i++{
//what should i put here in order to split the string via spaces?
thearray.add(separatedstring);
}
}
public int canBeSeparatedinto(String string)
//what do i put here to find out the amount of spaces inside the string?
return ....
}
Merci de laisser un commentaire si vous n'obtenez pas ce que je veux dire ou je devrait corriger quelques erreurs dans ce post. Merci pour votre temps!
Vous devez vous connecter pour publier un commentaire.
Vous pouvez fractionner la Chaîne dans les espaces à l'aide de
split()
:Ensuite parcourir le tableau et ajouter les pièces individuelles (si
!"".equals(parts[i]
) à la liste.Integer.parseInt(parts[i]);
? L'OP n'a pas demandé la conversion de l'coupée en deux chaînes de caractères en nombres entiers.Si vous voulez diviser sur un espace, vous pouvez utiliser
.split(" ");
. Si vous voulez diviser sur tous les espaces dans une ligne, utilisez.split(" +");
.Considérons l'exemple suivant:
Si vous êtes inquiet au sujet de la non-standard des espaces, vous pouvez utiliser
"\\s+"
au lieu de" +"
, comme"\\s"
permettra de capturer n'importe quel espace blanc, et pas seulement l '"espace" de caractère.De sorte que votre séparée et ajouter une méthode devient:
Voici un exemple plus complet - notez qu'il y a une petite modification dans le
separateAndAdd
méthode que j'ai découvert pendant le test." +"
🙂split
.Ce faire:
ou si
thearray
déjà instanciéJe vous recommande d'utiliser le
Il est le plus facile et couvre toutes les différentes conditions, vous pouvez vous souhaitez int il crève d'une chaîne avec un minimum de code.
Ici est une référence à la méthode de fractionnement :
Méthode De Fractionnement
vous pouvez également consulter les autres options disponibles pour la méthode de fractionnement sur le même lien.
Vous pouvez le faire en utilisant
.split()
essayer cetteSi vous voulez diviser la chaîne en différentes parties, comme ici, je vais vous montrer comment je peux diviser cette chaîne 14-03-2016 dans le jour,le mois et l'année.
essayez ceci:
chaîne 2 de la partie:
exemple:
de sortie: