Java SubString Example ตัวอย่างการ SubString แบบต่างๆ ใน Java
การตัด String ใน Java มีการประยุกต์ใช้ได้หลายแบบ
เดี๋ยวจะยกตัวอย่างให้ดู นะครับ
1. แบบแรกเป็นแบบที่ มีตำแหน่งตายตัว
อันนี้จะง่ายสามารถนับและระบุตำแหน่งได้เลยยกตัวอย่างเช่น
String temp="01/01/2013 12:59:59";
String date = temp.substring(0,10);
String time = temp.substring(11,19);
System.out.println("Date >"+date+"<");
System.out.println("Time >"+time+"<");
ผลที่ได้คือ
Date >01/01/2013<
Time >12:59:59<
2. กรณีมีข้อมูลมาแทรกด้านหน้าไม่สามารถระบุตำแหน่งชัดเจนได้
เอาแบบง่ายนิดนึง Case นี้สามารถตัดจากด้านหลังมาด้านหน้า
String temp="xxxxxxxxxxxxxxx01/01/2013 12:59:59";
String date = temp.substring(temp.length()-19,temp.length()-9);
String time = temp.substring(temp.length()-8,temp.length());
System.out.println("Date >"+date+"<");
System.out.println("Time >"+time+"<");
ผลที่ได้คือ
Date >01/01/2013<
Time >12:59:59<
3. กรณีที่มีข้อมูลแทรกหน้าหลัง
Case นี้ตัดจากหน้าก็ไม่ได้ ตัดจากหลังก็ไม่ได้ ตรงนี้ต้องหาจุดตัด
จากตัวอย่างจะใช้ตำแหน่งของ " " เป็นตัวตัด โดยใช้ คำสั่ง lastIndexOf มาช่วย
String temp="xxxxxxxxxxxxxxx01/01/2013 12:59:59xxxxxxx";
String date = temp.substring(temp.lastIndexOf(" ")-10,temp.lastIndexOf(" "));
String time = temp.substring(temp.lastIndexOf(" ")+1,temp.lastIndexOf(" ")+9);
System.out.println("Date >"+date+"<");
System.out.println("Time >"+time+"<");
ผลที่ได้คือ
Date >01/01/2013<
Time >12:59:59<