Frage Explodieren und implodieren (genau wie PHP) in Java [geschlossen]


Ich bin neu in Java, obwohl ich eine gute Erfahrung in PHP hatte und auf der Suche nach dem perfekten Ersatz für die Funktionen zum Explodieren und Implodieren (in PHP verfügbar) in Java.

Ich habe für das gleiche gegoogelt aber nicht mit den Ergebnissen zufrieden. Jeder hat die gute Lösung für mein Problem wird geschätzt.

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]

76
2018-05-27 12:50


Ursprung


Antworten:


Das Javadoc für Zeichenfolge enthüllt das String.split() ist was du suchst in Bezug auf explode.

Java enthält kein "implode" von "beitreten" gleichwertig. Anstatt eine riesige externe Abhängigkeit für eine einfache Funktion einzuschließen, wie es die anderen Antworten vorschlagen, möchten Sie vielleicht nur ein paar Zeilen Code schreiben. Es gibt eine Reihe von Möglichkeiten, dies zu erreichen; Verwendung einer StringBuilder ist ein:

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();

119
2018-05-27 13:23



String.split() kann Ihnen einen Ersatz liefern explode()

Für einen Ersatz von implode() Ich würde dir raten, entweder eine benutzerdefinierte Funktion zu schreiben oder zu verwenden Apache Commonsist es StringUtils.join() Funktionen.


19
2018-05-27 12:55



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

Explodieren:

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

Implodieren:

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

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


12
2018-05-27 12:57



java.lang.String.split(String regex) ist was du suchst.


4
2018-05-27 12:55



Ich bin nicht vertraut mit PHP, aber ich denke String.split Java entspricht PHP explode. Wie für implodeDie Standardbibliothek bietet keine solche Funktionalität. Sie durchlaufen einfach Ihr Array und erstellen eine Zeichenfolge mit StringBuilder/StringBuffer. Oder Sie können es hervorragend versuchen Google Guava  Splitter und Schreiner oder split/join Methoden aus Apache Commons  StringUtils.


3
2018-05-27 13:02



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

UnterString / Split

zum Explodieren und Verwenden von String

zusammenstellen

für Implodieren.


0
2018-05-27 12:55