Wednesday, August 10, 2011

Split String pada Java

Berawal dari tugas akhir saya, saya mengalami kasus dengan format tanggal JSON dari server RESTful web service yang mengeluarkan output seperti ini
/Date(1313341200000+0700)/

Saya harus mengubah format tanggal yang aneh*) tersebut ke format yang human readable
*)menurut yang saya baca format tersebut manyatakan waktu dalam jumlah detik yang dihitung sejak tanggal 1 Januari 2011 hingga waktu yang dimaksudkan, sedangkan +0700 menyatakan regional waktu yang berselisih 7 jam dari GMT


Untuk memprosesnya, saya harus mendapatkan nilai 1313341200000 dari output tersebut
Codingannya dapat diilakukan dengan menangkap output tersebut sebagai sebuah String kemudian dipisahkan dengan method Split

Beginilah code nya
String epochDate = "/Date(1313341200000+0700)/";
System.out.println(epochDate);
Pattern pat = Pattern.compile("[(+]");
String str[] = pat.split(epochDate);
for(int i=0;i<str.length;i++)
{
System.out.println(str[i]);
}
Penjelasan :
Pattern pat = Pattern.compile("[(+]");
Di sini saya mendeklarasikan karakter yang dijadikan patokan untuk memecah String yaitu ( dan + dari output  
/Date(1313341200000+0700)/ 
yang mengapit 
1313341200000
Kemudian tangkap hasilnya sebagai array of String 
String str[] = pat.split(epochDate);
Output yang saya inginkan berada pada indeks 1
str[1]



Demikian, semoga bermanfaat

0 comments:

Post a Comment

ardhi.web.id. Powered by Blogger.