Dalam memanajemen sebuah String di dalam java, kadang diperlukan suatu split atau pemecahan suatu String (kalimat) karena ita ingin mengambil hanya beberapa katanya saja. ini sebenarnya menjamur ketika menjelang UAS kemarin di kampus saya. banyak yang mencoba untuk membuat aplikasi yang dibilang sebagai converter query.
untuk memecah suatu string di Java sebenarnya ada beberapa cara, pertama menggunakan spilt().
berikut contoh programnya.
Penjelasan :
- String kalimat = "contoh-spit-string-dengan-java";
ini merupakan pendeklarasian String/(kalimat)yang akan kita split
- String[] kata = kalimat.split("-");
disini kita membuat sebuah array dengan nama variabel kata, array ini akan menampung isi dari variabel kalimat yang akan di split berdasarkan delimiter. apa itu delimiter ?
Delimiter merupakan satu akrakter atau lebih yang dipakai untuk memberi batasan atau sebagai pemisah data yang disajikan dalam bentuk plain text. contoh delimiter adalah tanda koma (,) titik (.) titik dua (:) dsb.
jadi , penjelasanya string/variabel kalimat akan di split berdasarkan tanda ("-").
untuk menampilkan semua hasilnya digunakan perulangan untuk mengakses semua index dari array yang telah dibuat sebelumnya.
hasilnya seperti ini
dalam penggunaan split() ada beberapa hal yang istimewa, ada beberapa delimiter khusus yang tidak bisa digunakan dengan cara biasa seperti cara diatas. misalkan :
coba ganti codingan
- String kalimat = "contoh-spit-string-dengan-java"; menjadi
- String kalimat = "contoh.spit.string.dengan.java";
maka hasilnya seperti ini
hasil split nya tidak muncul kan? nah untuk mengatasi hal ini kita hanya perlu menambahkan tanda "\\" di dalam delimiter yang kita masukkan
- String[] kata = kalimat.split("\\.");
dan hasilnya kembali seperti contoh awal kan? delimiter yang khusus ini misalnya titik (.) tanda apa ya ini namanya :f: (|) kalo gak salah namanya pipe :f: dll. coba-coba sendiri ya..
sampai disini gimana? cukup paham kan?
untuk masalah selanjutnya gimana kalau ada contoh seperti ini ? kita ingin mensplit kalimat/string berdaraskan delimiter spasi (" "), tapi bagaimana jika ada dua spasi ?
padahal yang kita inginkan tidak ada sekat kosong diatara kalimat hasil split, caranya tambahkan ini di delimiternya, ("\\s+")
- String[] kata = kalimat.split("\\s+");
dan hasilnya sama seperti contoh pertama diatas, tidak ada sekat yang kosong.
didalam penggunaan split(), juga bisa digunakan untuk sebuah string yang panjang dan kita pecah/split menjadi beberapa karater saja, misalkan :
- String kalimat = "121284327465402343721";
string diatas ingin kita pecah hanya menjadi masing-masing 3 digit, menjadi seperti ini
caranya, gunakan delimiter seperti berikut ini ("(?<=\\G.{3})")
untuk angka 3 bisa dirubah sesuai keinginan
selanjutnya bagaimana menggunakan split(), namun dengan delimiter yang juga diikutkan seperti
- String kalimat = "contoh!spit!string!dengan!java";
string diatas ingin kita split dengan delimiter "!" namun bagaimana jika ingin menghasilkan seperti ini?
caranya,..
cukup tambahkan delimiter berupa ("(?<=[!])").
mudah bukan untuk memecah string java dengan split(). namun masih ada beberapa kekurangan dalam melakukan pemecahan string dengan metode split(), yaitu kita hanya bisa menggunakan delimiter yang terbatas, misalkan jika kita menggunakan beberapa Delimiter, hasilnya tidak akan sesuai dengan yang kita harapkan.
sekian tutorial yang saya buat ini, apabila ada kesalahan kritik atau saran yang membangun silahkan dikometarkan :d:
sumber : berbagai sumber, rgagnon
10 komentar:
mas kalau mau memecahkan kata misalnya "sayapergi" dipecah 4 menjadi "saya ayap yape aper perg ......" itu gmn ya mas kodingannya ??
mas nanya mas,, gimana klo di java android? sama apa gak
Gmna klo angka nya di pecah, trus dijumlahkan. Misalnya: 2231. trus si pecah jadi : 2,2,3,1. trus dijumlahkan jadi 8. Mhon jwabannya bg ?
mas kalo memecah kalimat menjadi beberapa kata, terus katanya itu akan dibuat menjadi beberapa variabel bisa ga?
mas kalau memcahkan kata terus yg di pecah itu huruf2nya aja gimana yah??
keren gan mantab, (Y)
mas kalo memecahkan telur bisa ga? kaowkaokwoa LOL
mas kalo memecahkan kaca bisa ga? hahahhahahahhahahahhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
crot
gan kalau itu kan nampilin hasil pecahannya di console. kalau mau nampilin hasil pecahannya ke beberapa textfield gimana caranya ya???
Posting Komentar