Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

โปรแกรม Java แยกและรวมสตริงด้วย split() และ join()

ตัวอย่างโค้ด

public class Demo { 
    public static void main(String args[]) { 
        String myStr = "This_is_a_sample"; 
        String[] splitStr = myStr.split("_", 4); 
        
        System.out.println("สตริงที่แยกแล้ว:"); 
        for (String everyStr : splitStr) 
            System.out.println(everyStr); 
        
        String joinedStr = String.join("_", "This", "is", "a", "sample"); 
        System.out.println("สตริงที่รวมแล้ว:"); 
        System.out.println(joinedStr); 
    } 
}

ผลลัพธ์

สตริงที่แยกแล้ว: 
This 
is 
a 
sample 
สตริงที่รวมแล้ว: 
This_is_a_sample

คำอธิบาย

เมธอด split(regex, limit) แยกสตริงตาม regular expression ที่กำหนด พารามิเตอร์ limit จำกัดจำนวนส่วนสูงสุดที่จะแยกได้

เมธอด String.join(delimiter, elements...) (Java 8+) รวมสตริงหลายตัวเข้าด้วยกันโดยใช้ delimiter คั่นระหว่างแต่ละตัว

รายละเอียดเพิ่มเติม

  • split("_", 4) แยกสูงสุด 4 ส่วน: "This", "is", "a", "sample"
  • หากไม่ระบุ limit จะแยกหมดทุกส่วนที่พบ delimiter
  • join สะดวกกว่าการใช้ StringBuilder วนลูปเอง
  • สำหรับ Java 7 หรือก่อนหน้า ต้องใช้ StringBuilder หรือ StringJoiner แทน

กรณีพิเศษ

// split ด้วย regex พิเศษ ต้อง escape
String[] parts = "1.2.3".split("\\."); // จุดต้อง escape

// join กับ Collection
List words = Arrays.asList("a", "b", "c");
String result = String.join("-", words); // a-b-c