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

แยกข้อความด้วย java.util.regex Package

เมธอด split() ของคลาส String รับ regex แล้วแยกข้อความเป็นโทเคน คืนค่าเป็นอาร์เรย์สตริง

ตัวอย่าง 1: ใช้ String.split()

import java.util.Scanner;

public class Example {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("Enter input text: ");
        String input = sc.nextLine();
        String[] strArray = input.split("\\d");
        
        for (int i = 0; i < strArray.length; i++) {
            System.out.println(strArray[i]);
        }
    }
}

ผลลัพธ์

Enter input text: 1Ramu 2Raju 3Radha 4Rahman 5Rachel
Ramu
Raju
Radha
Rahman
Rachel

ตัวอย่าง 2: ใช้ Pattern.split()

สามารถแยกสตริงด้วยเมธอด split() ของคลาส Pattern ได้เช่นกัน รับสตริง แล้วแยกตาม regex ภายใน คืนค่าอาร์เรย์สตริง

import java.util.Scanner;
import java.util.regex.Pattern;

public class SplittingString {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("Enter input text: ");
        String input = sc.nextLine();
        String regex = "\\d";
        
        Pattern pattern = Pattern.compile(regex);
        String[] strArray = pattern.split(input);
        
        for (int i = 0; i < strArray.length; i++) {
            System.out.println(strArray[i]);
        }
    }
}

ผลลัพธ์

Enter input text: 1Ramu 2Raju 3Radha 4Rahman 5Rachel
Ramu
Raju
Radha
Rahman
Rachel

สรุป

  • String.split(regex) - ใช้ง่าย สำหรับกรณีทั่วไป
  • Pattern.compile(regex).split(input) - ใช้ Pattern object ซ้ำได้ เหมาะสำหรับแยกหลายครั้งด้วย regex เดียวกัน
  • ทั้งสองให้ผลลัพธ์เหมือนกัน