Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Java

Tách chuỗi dùng package java.util.regex


Phương thức split() của String

String.split(regex) nhận regex, tách chuỗi thành mảng token.

Ví dụ 1: Tách bằng String.split()

import java.util.Scanner;

public class Example {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("Nhập văn bản: ");
        String input = sc.nextLine();
        String[] strArray = input.split("\\d"); // tách tại chữ số
        for (int i = 0; i < strArray.length; i++) {
            System.out.println(strArray[i]);
        }
    }
}
Nhập văn bản: 1Ramu 2Raju 3Radha 4Rahman 5Rachel
Ramu
Raju
Radha
Rahman
Rachel

Phương thức split() của Pattern

Pattern.split(input) cũng tách chuỗi dựa trên regex đã compile.

Ví dụ 2: Tách bằng Pattern.split()

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("Nhập văn bản: ");
        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]);
        }
    }
}
Nhập văn bản: 1Ramu 2Raju 3Radha 4Rahman 5Rachel
Ramu
Raju
Radha
Rahman
Rachel

So sánh

Phương thứcƯu điểm
String.split()Ngắn gọn, tiện cho regex đơn giản, dùng một lần
Pattern.split()Hiệu quả hơn khi dùng lại regex nhiều lần (compile một lần)

Lưu ý

  • Regex \\d khớp mỗi chữ số đơn lẻ. Để tách theo cụm số, dùng \\d+.
  • Kết quả mảng có thể chứa chuỗi rỗng nếu regex khớp ở đầu/cuối hoặc liên tiếp.