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

Cách lấy chữ cái đầu tiên của mỗi từ bằng Regex trong Java

Ký tự meta "\\b" khớp với ranh giới từ và [a-zA-Z] khớp với một ký tự từ bảng chữ cái tiếng Anh (cả hai trường hợp). Tóm lại, biểu thức \\b[a-zA-Z] khớp với một ký tự đơn từ bảng chữ cái tiếng Anh, cả hai trường hợp, sau mỗi ranh giới từ.

Do đó, để lấy chữ cái đầu tiên của mỗi từ:

  • Biên dịch biểu thức trên bằng phương thức compile() của lớp Pattern.
  • Lấy đối tượng Matcher bằng cách truyền chuỗi đầu vào vào phương thức matcher() của lớp Pattern.
  • Cuối cùng, với mỗi khớp, lấy ký tự khớp bằng cách gọi phương thức group().

Ví dụ

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

public class FirstLetterExample {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("Nhập văn bản mẫu:");
        String data = sc.nextLine();
        String regex = "\\b[a-zA-Z]";
        
        Pattern pattern = Pattern.compile(regex);
        Matcher matcher = pattern.matcher(data);
        
        System.out.println("Chữ cái đầu của mỗi từ từ chuỗi cho trước:");
        while (matcher.find()) {
            System.out.print(matcher.group() + " ");
        }
    }
}

Kết quả

Nhập văn bản mẫu: National Intelligence Agency Research & Analysis Wing
Chữ cái đầu của mỗi từ từ chuỗi cho trước: N I A R A W