Kata pengantar
Saya percaya semua orang harus tahu bahwa dalam pemrograman Java, kadang-kadang kita perlu membagi string sesuai dengan karakter tertentu, huruf, dll. Sebagai titik batas, sehingga kita dapat menggunakan bagian dari string ini atau menyimpan semua konten yang dicegat ke dalam array. Artikel berikut akan berbagi dengan Anda dua cara segmentasi. Mari kita lihat bersama.
1. Metode split () dari java.lang.string, jdk 1.4 atau lebih baru
public String[] split(String regex,int limit)
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 = "Java string-split#test" , Anda dapat menggunakan Str.split(" |-|#") untuk memisahkan setiap string. Ini membagi string menjadi 3 substring.
2. 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.
Meringkaskan
Di atas adalah seluruh konten artikel ini. Saya berharap konten artikel ini akan membantu studi atau pekerjaan Anda. Jika Anda memiliki pertanyaan, Anda dapat meninggalkan pesan untuk berkomunikasi.