Xử lý chuỗi và định dạng trong Java

4 minute read

III. Xử lý chuỗi và định dạng trong Java:

A. Các phương thức của lớp String:

Lớp String trong Java cung cấp một loạt các phương thức để thao tác và xử lý chuỗi. Dưới đây là một số phương thức quan trọng của lớp String:

  1. length(): Trả về độ dài của chuỗi, tức là số ký tự trong chuỗi.

  2. charAt(int index): Trả về ký tự tại vị trí chỉ mục được chỉ định trong chuỗi.

  3. substring(int beginIndex): Trả về một chuỗi con bắt đầu từ chỉ mục đã cho đến hết chuỗi.

  4. substring(int beginIndex, int endIndex): Trả về một chuỗi con bắt đầu từ chỉ mục beginIndex và kết thúc ở chỉ mục endIndex - 1.

  5. concat(String str): Nối chuỗi str vào cuối chuỗi hiện tại.

  6. toUpperCase(): Chuyển đổi tất cả các ký tự trong chuỗi thành chữ hoa.

  7. toLowerCase(): Chuyển đổi tất cả các ký tự trong chuỗi thành chữ thường.

  8. trim(): Loại bỏ các khoảng trắng ở đầu và cuối chuỗi.

  9. equals(Object another): So sánh hai chuỗi, trả về true nếu hai chuỗi có cùng nội dung, ngược lại trả về false.

  10. equalsIgnoreCase(String another): So sánh hai chuỗi mà không phân biệt chữ hoa chữ thường.

  11. indexOf(int ch): Trả về chỉ mục của ký tự đã cho trong chuỗi, hoặc -1 nếu không tìm thấy.

  12. indexOf(String str): Trả về chỉ mục của chuỗi con đã cho trong chuỗi, hoặc -1 nếu không tìm thấy.

  13. startsWith(String prefix): Kiểm tra xem chuỗi có bắt đầu bằng chuỗi đã cho không.

  14. endsWith(String suffix): Kiểm tra xem chuỗi có kết thúc bằng chuỗi đã cho không.

  15. replace(char oldChar, char newChar): Thay thế tất cả các ký tự oldChar trong chuỗi bằng ký tự newChar.

  16. split(String regex): Tách chuỗi thành một mảng các chuỗi con bằng cách sử dụng biểu thức chính quy regex như là điểm tách.

Với các phương thức này, bạn có thể thực hiện nhiều thao tác khác nhau trên chuỗi trong Java, từ tìm kiếm và so sánh đến cắt, nối và biến đổi chuỗi.

B. Định dạng chuỗi với lớp Formatter:

Trong Java, lớp Formatter trong gói java.util cung cấp một cách linh hoạt để tạo và định dạng chuỗi dựa trên các đối số được cung cấp. Formatter cho phép bạn tạo ra các chuỗi có định dạng theo một cách tương tự như printf trong ngôn ngữ lập trình C.

Cách sử dụng cơ bản của lớp Formatter là sử dụng phương thức format() để tạo ra một chuỗi được định dạng, sau đó có thể in ra hoặc sử dụng như bạn muốn. Dưới đây là một số ví dụ về cách sử dụng lớp Formatter:

  1. Định dạng số nguyên:

    1
    2
    3
    
    int number = 42;
    String formatted = String.format("The number is: %d", number);
    System.out.println(formatted); // Output: The number is: 42
    
  2. Định dạng chuỗi:

    1
    2
    3
    
    String name = "Alice";
    String formatted = String.format("Hello, %s!", name);
    System.out.println(formatted); // Output: Hello, Alice!
    
  3. Định dạng số thực:

    1
    2
    3
    
    double value = 3.14159;
    String formatted = String.format("The value of pi is: %.2f", value);
    System.out.println(formatted); // Output: The value of pi is: 3.14
    
  4. Kết hợp nhiều đối số:

    1
    2
    3
    4
    5
    
    String firstName = "John";
    String lastName = "Doe";
    int age = 30;
    String formatted = String.format("Name: %s %s, Age: %d", firstName, lastName, age);
    System.out.println(formatted); // Output: Name: John Doe, Age: 30
    
  5. Sử dụng các biểu thức chính quy:

    1
    2
    3
    4
    5
    
    String text = "This is a long text";
    String[] words = text.split("\\s+"); // Split text into words
    for (String word : words) {
        System.out.println(String.format("Word: %s, Length: %d", word, word.length()));
    }
    

Lớp Formatter cung cấp một cách mạnh mẽ và linh hoạt để định dạng chuỗi trong Java. Bằng cách sử dụng các đối số và các biểu thức định dạng, bạn có thể tạo ra các chuỗi có định dạng phù hợp với nhu cầu của mình.

C. Định dạng ngày tháng với lớp SimpleDateFormat:

Trong Java, lớp SimpleDateFormat trong gói java.text được sử dụng để định dạng và phân tích ngày tháng theo một mẫu được chỉ định. SimpleDateFormat cho phép bạn chuyển đổi giữa đối tượng Date và một chuỗi biểu diễn ngày tháng hoặc ngược lại.

Dưới đây là một số ví dụ về cách sử dụng lớp SimpleDateFormat để định dạng ngày tháng:

  1. Định dạng ngày tháng theo mẫu:

    1
    2
    3
    4
    
    Date date = new Date();
    SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");
    String formattedDate = formatter.format(date);
    System.out.println("Formatted date: " + formattedDate); // Output: Formatted date: 24/02/2024
    
  2. Phân tích chuỗi ngày tháng:

    1
    2
    3
    4
    5
    6
    7
    8
    
    String dateString = "24/02/2024";
    SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");
    try {
        Date date = formatter.parse(dateString);
        System.out.println("Parsed date: " + date); // Output: Parsed date: Sun Feb 24 00:00:00 UTC 2024
    } catch (ParseException e) {
        e.printStackTrace();
    }
    
  3. Định dạng ngày tháng với múi giờ:

    1
    2
    3
    4
    5
    
    Date date = new Date();
    SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
    formatter.setTimeZone(TimeZone.getTimeZone("Asia/Ho_Chi_Minh"));
    String formattedDate = formatter.format(date);
    System.out.println("Formatted date with time zone: " + formattedDate); // Output: Formatted date with time zone: 24/02/2024 14:30:45
    
  4. Định dạng ngày tháng với ngôn ngữ cụ thể:

    1
    2
    3
    4
    
    Date date = new Date();
    SimpleDateFormat formatter = new SimpleDateFormat("dd MMMM yyyy", new Locale("vi", "VN"));
    String formattedDate = formatter.format(date);
    System.out.println("Formatted date with Vietnamese locale: " + formattedDate); // Output: Formatted date with Vietnamese locale: 24 tháng 2 2024
    

Lớp SimpleDateFormat cung cấp các phương thức linh hoạt để định dạng và phân tích ngày tháng theo nhiều cách khác nhau. Bằng cách sử dụng các mẫu khác nhau và các tùy chọn khác nhau, bạn có thể tạo ra các chuỗi ngày tháng phù hợp với yêu cầu cụ thể của ứng dụng của mình.