String Manipulation Dengan CommonsLang
Sering melakukan manipulasi terhadap String di Java ? Pernah merasa bahwa method-method yang terdapat pada class String standart masih kurang ? Sering kena NPE (NullPointerEexception) ketika melakukan manipulasi ?? Jika iya, mungkin teman-teman perlu melihat class StringUtils yang terdapat pada library Apache Commons Lang untuk keperluan manipulasi class String pada Java
Nah dibawah ini adalah beberapa method yang sering saya gunakan (untuk daftar lengkap, silahkan cek pada JavaDoc StringUtils) pada class StringUtils :
- LeftPad, method untuk membuat String menjadi rata kiri.
- RightPad, method untuk membuat String menjadi rata kanan.
- Center, method untuk membuat String menjadi rata tengah.
- isAlphanumeric, method untuk mengecek apakah string berisi alpha numeric atau bukan.
Method-method diatas adalah method-method yang sering saya gunakan, sedangkan bagaimana detail dari method-method tersebut ? Mari kita lihat cara penggunaan-nya seperti dibawah ini :
- LeftPad, method ini digunakan untuk kebutuhan menampilkan String agar menjadi rata kiri. Dan class StringUtils ini mempunyai 3 macam method yaitu
leftPad(String str, int len), leftPad(String str, int len, String strPad)danleftPad(String str, int len, char charPad). Sedangkan cara penggunaan-nya juga sangat gampang sekali yaitu seperti dibawah ini :
1234567String jumlahBayar = "25000";String leftPadNormal = StringUtils.leftPad(jumlahBayar, 10);String leftPadWithZero = StringUtils.leftPad(jumlahBayar, 10, '0');String leftPadWithZero1 = StringUtils.leftPad(jumlahBayar, 10, "0");System.out.println("output [" + leftPadNormal + "] len [" + leftPadNormal.length() + "]");System.out.println("output [" + leftPadWithZero + "] len [" + leftPadWithZero.length() + "]");System.out.println("output [" + leftPadWithZero1 + "] len [" + leftPadWithZero1.length() + "]");dan potongan kode diatas akan menghasilkan tampilan seperti dibawah ini :
123output [ 25000] len [10]output [0000025000] len [10]output [0000025000] len [10] - RightPad, method ini digunakan untuk kebutuhan menampilkan String agar menjadi rata kanan, sama seperti method LeftPad class StringUtils ini juga menyediakan 3 macam method yaitu
rightPad(String str, int len), rightPad(String str, int len, String strPad)danrightPad(String str, int len, char charPad). Sedangkan cara penggunaan-nya juga sangat gampang sekali yaitu seperti dibawah ini :
1234567String jumlahBayar = "25000";String rightPadNormal = StringUtils.rightPad(jumlahBayar, 10);String rightPadWithZero = StringUtils.rightPad(jumlahBayar, 10, '0');String rightPadWithZero1 = StringUtils.rightPad(jumlahBayar, 10, "0");System.out.println("output [" + rightPadNormal + "] len [" + rightPadNormal.length() + "]");System.out.println("output [" + rightPadWithZero + "] len [" + rightPadWithZero.length() + "]");System.out.println("output [" + rightPadWithZero1 + "] len [" + rightPadWithZero1.length() + "]");dan potongan kode diatas akan menghasilkan tampilan seperti dibawah ini :
123output [25000 ] len [10]output [2500000000] len [10]output [2500000000] len [10] - Center, method ini digunakan untuk kebutuhan menampilkan String agar menjadi rata tengah, sama seperti method LeftPad dan method RightPad class StringUtils ini juga menyediakan 3 macam method yaitu
center(String str, int len), center(String str, int len, String strPad)dancenter(String str, int len, char charPad). Sedangkan cara penggunaan-nya juga sangat gampang sekali yaitu seperti dibawah ini :
1234567String jumlahBayar = "25000";String centerMaxLength = StringUtils.center(jumlahBayar, 10);String centerMaxLengthPadZero = StringUtils.center(jumlahBayar, 10, '0');String centerMaxLengthPadZero1 = StringUtils.center(jumlahBayar, 10, "0");System.out.println("output [" + centerMaxLength + "] len [" + centerMaxLength.length() + "]");System.out.println("output [" + centerMaxLengthPadZero + "] len [" + centerMaxLengthPadZero.length() + "]");System.out.println("output [" + centerMaxLengthPadZero1 + "] len [" + centerMaxLengthPadZero1.length() + "]");dan potongan kode diatas akan menghasilkan tampilan seperti dibawah ini :
123output [ 25000 ] len [10]output [0025000000] len [10]output [0025000000] len [10] - isAlphanumeric, method ini digunakan untuk mengecek apakah String yang ingin di cek merupakan alpha numeric atau bukan. Contoh penggunaan-nya adalah seperti dibawah ini :
1234System.out.println("null = " + StringUtils.isAlphanumeric(null));System.out.println("123 = " + StringUtils.isAlphanumeric("123"));System.out.println(",.!@^$#% = " + StringUtils.isAlphanumeric(",.!@^$#%"));System.out.println("\"\" = " + StringUtils.isAlphanumeric(""));dan potongan kode diatas akan menghasilkan tampilan seperti dibawah ini :
1234null = false123 = true,.!@^$#% = false"" = true
Sebenarnya class StringUtils ini masih mempunyai banyak method yang lain (dapat teman-teman baca di JavaDoc StringUtils), tetapi yang paling sering saya gunakan dalam kegiatan sehari-hari adalah 4 method diatas
Jika teman-teman sering bermain-main dengan ISO 8583 atau pembuatan laporan yang masih mengandalkan Direct Printing, sepertinya teman-teman perlu mencoba class StringUtils ini
Tertarik untuk mencoba ….?
Link-link terkait :
Tags: jasper report, Java, NetBeans
@Mas Yudhi: Iya mas, dulu sih manual
Bikin padding kek diatas, tapi kelamaan koq ya capek juga yah, akhirnya iseng2x cari library ketemu commons-lang ini
Cuma sih katanya class String yg paling komplit itu punya si Qt. Ini documentasi dari QString (http://doc.qt.nokia.com/4.6/qstring.html)
Sptnya emang kalah banyak ya mas
Keren juga referensinya neh.. jujur gw baru tau ada kelas kek gitu..
Thanks