J'ai un string = "name";
Je veux convertir en un tableau de chaînes. Comment fait-on ça? Existe-t-il une fonction Java intégrée? Je peux le faire manuellement mais je recherche une fonction intégrée Java.
Je veux un tableau où chaque caractère de la chaîne sera une chaîne. comme char 'n' sera maintenant la chaîne "n" stockée dans un tableau.
String[] ary = new String[] { "name" };
, de quelle opération avez-vous besoin? fractionnement en caractères par exemple?Réponses:
Pour commencer votre affectation,
String.split
divise les chaînes sur une expression régulière et cette expression peut être une chaîne vide:Donne le tableau:
Se débarrasser de la 1ère entrée vide reste un exercice pour le lecteur :-)
Remarque: dans Java 8, le premier élément vide n'est plus inclus.
la source
La deuxième ligne alloue un tableau String d'une longueur de 1. Notez que vous n'avez pas besoin de spécifier vous-même une longueur, telle que:
au lieu de cela, la longueur est déterminée par le nombre d'éléments dans l'initaliseur. En utilisant
crée un tableau d'une longueur de 3.
la source
En supposant que vous vouliez vraiment un tableau de chaînes à un seul caractère (pas un
char[]
ouCharacter[]
)1. Utilisation d'une expression régulière:
L'anticipation négative de largeur zéro empêche la correspondance de motif au début de l'entrée, vous n'obtenez donc pas une chaîne vide de début.
2. Utilisation de la goyave :
la source
Je suppose que ce n'est tout simplement pas nécessaire, car cela ne sera pas plus simple que
Bien sûr, si vous insistez, vous pouvez écrire:
[Modifier] Si vous voulez des chaînes à une seule lettre, vous pouvez utiliser:
Malheureusement, s [0] sera vide, mais après cela, les lettres n, a, m, e suivront. Si cela pose un problème, vous pouvez utiliser par exemple System.arrayCopy afin de vous débarrasser de la première entrée du tableau.
la source
la source
Dans java 8, il existe une méthode avec laquelle vous pouvez faire ceci: toCharArray ():
Cela donne le tableau suivant:
la source
String.charAt(0)
inutilement aux chaînes de caractères uniques! ;)Tableau de chaînes = tableau de caractères?
Ou avez-vous une chaîne avec plusieurs mots dont chacun devrait être un élément de tableau?
String[] array = yourString.split(wordSeparator);
la source
Utilisez simplement la
.toCharArray()
méthode en Java:Cela devrait fonctionner correctement dans Java 8.
la source
Le convertir en type
Char
?http://www.javadb.com/convert-string-to-character-array
la source
char[]
=)Vous pouvez l'utiliser
string.chars().mapToObj(e -> new String(new char[] {e}));
, bien que cela soit assez long et ne fonctionne qu'avec java 8. Voici quelques méthodes supplémentaires:string.split(""); (Has an extra whitespace character at the beginning of the array if used before Java 8)
string.split("|");
string.split("(?!^)");
Arrays.toString(string.toCharArray()).substring(1, string.length() * 3 + 1).split(", ");
Le dernier est juste inutilement long, c'est juste pour le plaisir!
la source
Une méthode supplémentaire:
Comme cela a déjà été mentionné, vous pouvez facilement convertir le "nom" de la chaîne d'origine en un tableau de caractères:
Pour continuer ce train de pensée, vous pouvez ensuite convertir le tableau char en un tableau String:
À ce stade, votre stringArray sera rempli avec les valeurs d'origine de votre chaîne d'origine "nom". Par exemple, appeler maintenant
Renvoie la valeur "n" (sous forme de chaîne) dans ce cas.
la source
Le fractionnement d'une chaîne vide avec String.split () renvoie un tableau d'élément unique contenant une chaîne vide . Dans la plupart des cas, vous préférerez probablement obtenir un tableau vide, ou un null si vous avez passé un null, ce qui est exactement ce que vous obtenez avec org.apache.commons.lang3.StringUtils.split (str) .
Une autre option est google guava Splitter.split () et Splitter.splitToList () qui renvoient un itérateur et une liste en conséquence. Contrairement à la version Apache, Splitter lancera un NPE sur
null
:Si vous voulez une liste plutôt qu'un itérateur, utilisez Splitter.splitToList () .
la source
La méthode
String.split
générera le premier vide, vous devez le supprimer du tableau. C'est ennuyant.la source
Sur la base du titre de cette question, je suis venu ici pour convertir une chaîne en un tableau de sous-chaînes divisées par un délimiteur. J'ajouterai cette réponse ici pour d'autres qui peuvent avoir la même question.
Cela crée un tableau de mots en divisant la chaîne à chaque espace:
Cela crée le tableau suivant:
La source
Testé en Java 8
la source
voici avoir convertir une chaîne simple en tableau de chaînes en utilisant la méthode de fractionnement.
Production
la source