Je suis nouveau en Java, bien que j'ai une bonne expérience en PHP, et je recherche un remplacement parfait pour les fonctions d'explosion et d'implosion (disponibles en PHP) en Java.
J'ai cherché la même chose sur Google mais je ne suis pas satisfait des résultats. N'importe qui a la bonne solution pour mon problème sera apprécié.
Par exemple:
String s = "x,y,z";
//Here I need a function to divide the string into an array based on a character.
array a = javaExplode(',', s); //What is javaExplode?
System.out.println(Arrays.toString(a));
Sortie désirée:
[x, y, z]
Réponses:
Le Javadoc for String révèle que
String.split()
c'est ce que vous recherchezexplode
.Java n'inclut pas un équivalent «implode» ou «join». Plutôt que d'inclure une dépendance externe géante pour une fonction simple comme le suggèrent les autres réponses, vous voudrez peut-être simplement écrire quelques lignes de code. Il y a plusieurs façons d'y parvenir; en utilisant a
StringBuilder
est un:la source
String#join
( documentation ). Pour votre exemple:String joined = String.join(" ", split);
. La méthode utilise laStringJoiner
classe.String.split()
peut vous fournir un remplacement pourexplode()
Pour remplacer,
implode()
je vous conseille d 'écrire une fonction personnalisée ou d' utiliser lesStringUtils.join()
fonctions d ' Apache Commons .la source
Les bonnes alternatives sont les méthodes String.split et StringUtils.join.
Exploser:
Imploser:
Gardez à l'esprit que StringUtils est dans une bibliothèque externe.
la source
packages such as sun., that are outside of the Java platform, can be different across OS platforms (Solaris, Windows, Linux, Macintosh, etc.) and can change at any time without notice with SDK versions
java.lang.String.split(String regex)
est ce que vous recherchez.la source
Je ne suis pas familier avec PHP, mais je pense que String.split est l'équivalent Java de PHP
explode
. Quant àimplode
, la bibliothèque standart ne fournit pas une telle fonctionnalité. Vous parcourez simplement votre tableau et créez une chaîne à l'aide de StringBuilder / StringBuffer . Ou vous pouvez essayer d'excellents Google Guava Splitter and Joiner ou dessplit/join
méthodes d' Apache Commons StringUtils .la source
si vous parlez dans la référence de String Class. afin que vous puissiez utiliser
pour exploser et utiliser une chaîne
pour Implode.
la source
concate
n'est pas équivalent àimplode
.