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

Chương trình Java in ký tự đầu mỗi từ bằng Regex

Trong bài viết này, chúng ta sẽ tìm hiểu cách in ký tự đầu tiên của mỗi từ trong chuỗi bằng biểu thức chính quy (Regex). Biểu thức chính quy là chuỗi ký tự tạo thành mẫu tìm kiếm, có thể dùng để tìm, sửa, thao tác văn bản.

Ví dụ minh họa

Đầu vào:

Chuỗi 1: Java Program
Chuỗi 2: Joy of learning

Đầu ra mong muốn:

Kết quả 1: JP
Kết quả 2: Jol

Thuật toán

  1. Bắt đầu
  2. Khai báo chuỗi input_string_1, input_string_2, Pattern string_pattern, Matcher string_matcher
  3. Gán giá trị
  4. Biên dịch pattern "\\b[a-zA-Z]" (ký tự chữ cái ở đầu từ)
  5. Dùng while loop với matcher.find() và matcher.group() để lấy ký tự đầu
  6. Hiển thị kết quả
  7. Kết thúc

Ví dụ 1: Xử lý trực tiếp trong main

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

public class Regex {
    public static void main(String[] args) {
        System.out.println("Đã nhập các gói cần thiết");
        String input_string_1 = "Java Program";
        System.out.println("\nChuỗi 1: " + input_string_1);
        Pattern string_pattern = Pattern.compile("\\b[a-zA-Z]");
        Matcher string_matcher = string_pattern.matcher(input_string_1);
        System.out.print("Ký tự đầu các từ: ");
        while (string_matcher.find())
            System.out.print(string_matcher.group());
        System.out.println();
        String input_string_2 = "Joy of learning";
        System.out.println("\nChuỗi 2: " + input_string_2);
        Matcher string_matcher_2 = string_pattern.matcher(input_string_2);
        System.out.print("Ký tự đầu các từ: ");
        while (string_matcher_2.find())
            System.out.print(string_matcher_2.group());
        System.out.println();
    }
}

Kết quả

Đã nhập các gói cần thiết
Chuỗi 1: Java Program
Ký tự đầu các từ: JP
Chuỗi 2: Joy of learning
Ký tự đầu các từ: Jol

Ví dụ 2: Sử dụng phương thức tách biệt (OOP)

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

public class Regex {
    static void print_regex_string(String s) {
        Pattern string_pattern = Pattern.compile("\\b[a-zA-Z]");
        Matcher string_matcher = string_pattern.matcher(s);
        System.out.print("Ký tự đầu các từ: ");
        while (string_matcher.find())
            System.out.print(string_matcher.group());
        System.out.println();
    }
    public static void main(String[] args) {
        System.out.println("Đã nhập các gói cần thiết");
        String input_string_1 = "Java Program";
        System.out.println("\nChuỗi 1: " + input_string_1);
        print_regex_string(input_string_1);
        String input_string_2 = "Joy of learning";
        System.out.println("\nChuỗi 2: " + input_string_2);
        print_regex_string(input_string_2);
    }
}

Kết quả

Đã nhập các gói cần thiết
Chuỗi 1: Java Program
Ký tự đầu các từ: JP
Chuỗi 2: Joy of learning
Ký tự đầu các từ: Jol