Java membelah string
Metode split () dari java.lang.string, JDK 1.4 atau lebih baru
String publik [] split (string regex, batas int)
Kode sampel
stringsplit kelas publik {public static void main (string [] args) {string sourcestr = "1,2,3,4,5"; String [] Sourcestrarray = Sourcestr.split (","); untuk (int i = 0; i <sourcestrarray.length; i ++) {System.out.println (Sourcestrarray [i]); } // Pisahkan hingga 3 string int maxsplit = 3; sourcestrarray = Sourcestr.split (",", maxsplit); untuk (int i = 0; i <sourcestrarray.length; i ++) {System.out.println (Sourcestrarray [i]); }}}Hasil output:
12345123,4,5
Implementasi split secara langsung memanggil metode split dari kelas pencocokan . Saat menggunakan metode string.split untuk membatasi string, jika pembatas menggunakan beberapa karakter khusus, itu mungkin tidak mendapatkan hasil yang kami harapkan. Karakter dengan makna khusus dalam ekspresi reguler harus diloloskan saat kita menggunakannya. Contoh:
stringsplit kelas publik {public static void main (string [] args) {string value = "192.168.128.33"; // Perhatikan bahwa Anda harus menambahkan //, tidak keluar, ya string [] name = value.split ("//."); untuk (int i = 0; i <name.length; i ++) {System.out.println (nama [i]); }}}Ringkasan Pemisah Split
1. Karakter "|", "*", "+" harus ditambahkan dengan karakter yang melarikan diri, dan "//" ditambahkan sebelum mereka.
2. Jika itu "/", maka itu harus ditulis sebagai "////".
3. Jika ada beberapa pembatas dalam string, Anda dapat menggunakan "|" sebagai tanda hubung.
Sebagai contoh: string str = "test java string-split#", Anda dapat menggunakan str.split ("|-|#") untuk memisahkan setiap string. Ini membagi string menjadi 3 substring.
java.util.tokenizer JDK 1.0 atau lebih baru
StringTokenizer
Kelas StringTokenizer memungkinkan aplikasi untuk memecah string menjadi token. StringTokenizer adalah kelas warisan yang dipertahankan karena alasan kompatibilitas (meskipun tidak didorong dalam kode baru). Disarankan agar semua yang mencari fitur ini menggunakan metode split string atau paket java.util.regex.
Contoh Kode
stringsplit kelas publik {public static void main (string [] args) {string ip = "192.168.128.33"; StringTokenizer token = new stringTokenizer (ip, "."); while (token.hasmoreElements ()) {System.out.print (token.nextToken ()+""); }}}Namun, untuk pemisahan string "192.168..33", array string yang dikembalikan hanya memiliki 3 elemen, dan string kosong antara kedua pemisah akan diabaikan. Ini harus digunakan dengan hati -hati.
Namun, String.split (String.split dicocokkan dengan ekspresi reguler, sehingga tidak menggunakan algoritma pencocokan string KMP) menggunakan algoritma yang melintasi secara berurutan, dengan kompleksitas waktu yang tinggi dari O (M*N), jadi dalam hal kinerja, StringTokenzer jauh lebih baik. Untuk aplikasi yang sering menggunakan segmentasi string, seperti pemrosesan data ETL, kinerja menggunakan StringTokenizer dapat banyak ditingkatkan.
Terima kasih telah membaca, saya harap ini dapat membantu Anda. Terima kasih atas dukungan Anda untuk situs ini!