Pertanyaan Explode and Implode (seperti PHP) di Java [tertutup]


Saya baru di Jawa walaupun memiliki pengalaman yang baik dalam PHP, dan mencari pengganti sempurna untuk fungsi meledak dan meledak (tersedia dalam PHP) di Java.

Saya telah Googled untuk yang sama tetapi tidak puas dengan hasilnya. Siapa pun yang memiliki solusi bagus untuk masalah saya akan dihargai.

Sebagai contoh:

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

Output yang diinginkan:

[x, y, z]

76
2018-05-27 12:50


asal


Jawaban:


Itu Javadoc for String mengungkapkan itu String.split() adalah apa yang Anda cari dalam hal ini explode.

Java tidak menyertakan "implode" dari "join" yang setara. Daripada menyertakan ketergantungan eksternal raksasa untuk fungsi sederhana seperti yang disarankan oleh jawaban lainnya, Anda mungkin hanya ingin menulis beberapa baris kode. Ada sejumlah cara untuk mencapai itu; menggunakan sebuah StringBuilder adalah satu:

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() dapat memberi Anda pengganti explode()

Untuk penggantian implode() Saya akan menyarankan Anda untuk menulis baik fungsi atau penggunaan kustom Apache Commons's StringUtils.join() fungsi.


19
2018-05-27 12:55



Alternatif yang baik adalah metode String.split dan StringUtils.join.

Meledak:

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

Implode:

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

Ingatlah bahwa StringUtils ada di pustaka eksternal.


12
2018-05-27 12:57



java.lang.String.split(String regex) adalah apa yang Anda cari.


4
2018-05-27 12:55



Saya tidak akrab dengan PHP, tapi saya pikir String.split adalah Java yang setara dengan PHP explode. Seperti untuk implode, perpustakaan standart tidak menyediakan fungsi seperti itu. Anda hanya perlu mengulang array dan membuat string menggunakan StringBuilder/StringBuffer. Atau Anda bisa mencoba dengan sangat baik Google Guava  Splitter dan Tukang kayu atau split/join metode dari Apache Commons  StringUtils.


3
2018-05-27 13:02



jika Anda berbicara tentang referensi Kelas String. jadi kamu bisa menggunakannya

subString / split

untuk Meledak & menggunakan String

concate

untuk Implode.


0
2018-05-27 12:55