Bài này mình sẽ hướng dẫn các chuyển Tiếng Việt có dấu thành không dấu sử dụng các gói java hỗ trợ sẵn. Rất đơn giản.
Những gì cần import:
import java.text.Normalizer; import java.util.regex.Pattern;
Hàm chuyển đổi:
public class StringUtils{
public static String unAccent(String s) { String temp = Normalizer.normalize(s, Normalizer.Form.NFD); Pattern pattern = Pattern.compile("\\p{InCombiningDiacriticalMarks}+"); return pattern.matcher(temp).replaceAll(""); }
}
* Như cách trên vẫn còn vấn đề với chữ "Đ" và "đ" cho nên các bạn có thể thêm vào như sau:
return pattern.matcher(temp).replaceAll("").replaceAll("Đ", "D").replace("đ", "");
Test:
public static void main(String[] args) { System.out.println(StringUtils.unAccent("khánh nguyễn")); }
|