Computer >> Máy Tính >  >> Lập trình >> Java

Làm cách nào để lấy chữ cái đầu tiên của mỗi từ bằng cách sử dụng biểu thức chính quy trong Java?

Siêu ký tự “ \ b ”Khớp với các ranh giới từ và [a-zA-Z] khớp với một ký tự trong 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 trong bảng chữ cái tiếng Anh, cả hai trường hợp sau mỗi ranh giới từ.

Do đó, để truy xuất chữ cái đầu tiên của mỗi từ -

  • Biên dịch biểu thức trên của phương thức compile () của lớp Pattern.

  • Lấy đối tượng Matcher bỏ qua chuỗi đầu vào bắt buộc làm tham số cho phương thức matcher () của lớp Pattern.

  • Cuối cùng, đối với mỗi trận đấu, hãy lấy các ký tự phù hợ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("Enter sample text: ");
      String data = sc.nextLine();
      String regex = "\\b[a-zA-Z]";
      //Creating a pattern object
      Pattern pattern = Pattern.compile(regex);
      //Creating a Matcher object
      Matcher matcher = pattern.matcher(data);
      System.out.println("First letter of each word from the given string: ");
      while(matcher.find()) {
         System.out.print(matcher.group()+" ");
      }
   }
}

Đầu ra

Enter sample text:
National Intelligence Agency Research & Analysis Wing
First letter of each word from the given string:
N I A R A W