Ich bin neu in Java, habe aber gute Erfahrungen mit PHP gemacht und suche nach einem perfekten Ersatz für Explodierungs- und Implodierungsfunktionen (verfügbar in PHP) in Java.
Ich habe gleich gegoogelt, bin aber mit den Ergebnissen nicht zufrieden. Jeder, der die gute Lösung für mein Problem hat, wird geschätzt.
Beispielsweise:
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));
Gewünschte Ausgabe:
[x, y, z]
Antworten:
Das Javadoc für String zeigt, dass
String.split()
Sie genau danach suchenexplode
.Java enthält kein "implode" von "join" -Äquivalent. Anstatt eine riesige externe Abhängigkeit für eine einfache Funktion einzuschließen, wie die anderen Antworten vermuten lassen, möchten Sie möglicherweise nur ein paar Codezeilen schreiben. Es gibt eine Reihe von Möglichkeiten, dies zu erreichen. mit a
StringBuilder
ist eins:quelle
String#join
( Dokumentation ) haben. Für Ihr Beispiel :String joined = String.join(" ", split);
. Die Methode verwendet dieStringJoiner
Klasse.String.split()
kann Ihnen einen Ersatz fürexplode()
Als Ersatz für
implode()
würde ich Ihnen raten, entweder eine benutzerdefinierte Funktion zu schreiben oder die Funktionen von Apache Commons zuStringUtils.join()
verwenden.quelle
Gute Alternativen sind die Methoden String.split und StringUtils.join.
Explodieren:
Implodieren:
Beachten Sie jedoch, dass sich StringUtils in einer externen Bibliothek befindet.
quelle
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)
ist das, wonach Sie suchen.quelle
Ich bin nicht mit PHP vertraut, aber ich denke, String.split ist Java-Äquivalent zu PHP
explode
. Dieimplode
Standardbibliothek bietet keine solche Funktionalität. Sie iterieren einfach über Ihr Array und erstellen einen String mit StringBuilder / StringBuffer . Oder Sie können exzellenten Google Guava Splitter und Joiner odersplit/join
Methoden von Apache Commons StringUtils ausprobieren .quelle
wenn Sie in der Referenz von String Class sprechen. so können Sie verwenden
für Explode & use String
für Implode.
quelle
concate
ist nicht gleichbedeutend mitimplode
.