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
- Bắt đầu
- Khai báo chuỗi
input_string_1,input_string_2, Patternstring_pattern, Matcherstring_matcher - Gán giá trị
- Biên dịch pattern
"\\b[a-zA-Z]"(ký tự chữ cái ở đầu từ) - Dùng while loop với
matcher.find()vàmatcher.group()để lấy ký tự đầu - Hiển thị kết quả
- 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