it-swarm.com.de

Explodieren und implodieren (genau wie PHP) in Java

Ich bin neu in Java obwohl ich gute Erfahrungen mit PHP gemacht habe und auf der Suche nach einem perfekten Ersatz für Explode- und Implode-Funktionen (verfügbar in PHP) in Java.

Ich habe für das gleiche gegoogelt, aber nicht mit den Ergebnissen zufrieden. Wer die gute Lösung für mein Problem hat wird sich freuen.

Beispielsweise:

String s = "x,y,z";
array a = javaExplode(',',s);  //what is javaExplode??
System.out.println(Arrays.toString(a));

Gewünschte Ausgabe:

[x, y, z]
87
Pankaj Wanjari

Das Javadoc for String zeigt, dass String.split() das ist, wonach Sie in Bezug auf explode suchen.

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 nahelegen, möchten Sie möglicherweise nur ein paar Codezeilen schreiben. Es gibt eine Reihe von Möglichkeiten, dies zu erreichen. mit einem StringBuilder ist eines:

String foo = "This,that,other";
String[] split = foo.split(",");
StringBuilder sb = new StringBuilder();
for (int i = 0; i < split.length; i++) {
    sb.append(split[i]);
    if (i != split.length - 1) {
        sb.append(" ");
    }
}
String joined = sb.toString();
132
Brian Roach

String.split() kann Ihnen einen Ersatz für explode() liefern

Für einen Ersatz von implode() rate ich Ihnen, entweder eine benutzerdefinierte Funktion zu schreiben oder die StringUtils.join() -Funktionen von Apache Commons zu verwenden.

23
Menno

Gute Alternativen sind die Methoden String.split und StringUtils.join.

Explodieren:

String[] exploded="Hello World".split(" ");

Implode:

String imploded=StringUtils.join(new String[] {"Hello", "World"}, " ");

Beachten Sie jedoch, dass sich StringUtils in einer externen Bibliothek befindet.

16
EnKrypt
4
user1907906

Ich bin nicht mit PHP vertraut, aber ich denke String.split ist Java äquivalent zu PHP explode Was implode betrifft, bietet die Standardbibliothek diese Funktionalität nicht. Sie iterieren einfach über Ihr Array und erstellen einen String mit StringBuilder / StringBuffer . Oder Sie können es versuchen ausgezeichnet Google GuavaSplitter und Joiner oder split/join Methoden von Apache CommonsStringUtils .

3
Ivan Sharamet

wenn Sie in der Referenz der String-Klasse sprechen. so können Sie verwenden

subString/split

für Explode & Use String

Konzentrat

für Implode.

0
Saunik Singh