Showing posts with label Bài Tập Java. Show all posts
Showing posts with label Bài Tập Java. Show all posts

[Bài Tập Java] Chuyển Đổi Tiếng Việt Có Dấu Thành Không Dấu

Xem tất cả các Bài Tập Java: Vào Đây

Để chuyển đổi tiếng việt có dấu thành không dấu trong Java có cách đơn giản bằng cách gọi và sử dụng các gói đã có sẵn.




* Hàm chuyển đổi:

package sinhviencntt.com.StringUtils;

import java.text.Normalizer;
import java.util.regex.Pattern;

public class StringUtils {
 
 public static String removeAccent(String s) {
  
  String temp = Normalizer.normalize(s, Normalizer.Form.NFD);
  Pattern pattern = Pattern.compile("\\p{InCombiningDiacriticalMarks}+");
  return pattern.matcher(temp).replaceAll("");
 }
}
 
Normalizer: Class này cung cấp các phương thức để tiêu chuẩn hóa văn bản Unicode thành văn bản tương đương. Nhằm mục đích thuận tiện cho việc sắp xếp và tìm kiếm chuỗi.

String temp = Normalizer.normalize(s, Normalizer.Form.NFD): Tiêu chuẩn hóa chuỗi s được truyền vào theo định dạng NFD. Kết quả trả về là chuỗi đã được tiêu chuẩn hóa.

Lớp Pattern:  Dùng để nhận Regexp (Cấu trúc đại diện hay Regular Expression) vào và kiểm tra những String cho vào dựa trên Regexp đã tạo ra. Thông thường để nhận một Regexp, thì dùng phương thức compile.

matcher: Dùng để so sánh, tìm kiếm những chữ đưa vào dựa trên Regexp đã tạo ra.

* Hàm main:

 
 
package sinhviencntt.com.main;

import sinhviencntt.com.StringUtils.StringUtils;

public class chuyendoitiengviet {
 
 public static void main(String[] args) {
  
  System.out.print(StringUtils.removeAccent("Sinh Viên Công Nghệ Thông Tin"));
 }
}

 
Kết quả in ra màn hình:
Sinh Vien Cong Nghe Thong Tin
Bạn tạo project và run thử nhé! Cảm ơn các bạn đã theo dõi bài viết.  Nếu có gì cần trao đổi bạn Comment bên dưới.

Xem tất cả các Bài Tập Java: Vào Đây
Đọc Tiếp »