* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package util;
import java.util.HashMap;
/**
*
* @author chieu
*/
public class StringUtil {
//static final Logger logger = Logger.getLogger(StringUtil.class);
public static String filterUTF8(String input) {
char[] u = {
'Ú', 'Ù', 'Ủ', 'Ũ', 'Ụ', 'U',
'Ứ', 'Ừ', 'Ử', 'Ữ', 'Ự', 'Ư',
'ú', 'ù', 'ủ', 'ũ', 'ụ',
'ứ', 'ừ', 'ử', 'ữ', 'ự', 'ư',};
char[] a = {
'Á', 'À', 'Ả', 'Ã', 'Ạ', 'A',
'Ắ', 'Ằ', 'Ẩ', 'Ẵ', 'Ặ', 'Ă',
'Ấ', 'Ầ', 'Ẩ', 'Ẫ', 'Ậ', 'Â',
'á', 'à', 'ả', 'ã', 'ạ',
'ắ', 'ằ', 'ẳ', 'ẵ', 'ặ', 'ă',
'ấ', 'ầ', 'ẩ', 'ẫ', 'ậ', 'â'};
char[] e = {
'É', 'È', 'Ẻ', 'Ẽ', 'Ẹ', 'E',
'Ế', 'Ề', 'Ể', 'Ễ', 'Ệ', 'Ê',
'é', 'è', 'ẻ', 'ẽ', 'ẹ',
'ế', 'ề', 'ể', 'ễ', 'ệ', 'ê'
};
char[] o = {
'Ó', 'Ò', 'Ỏ', 'Õ', 'Ọ', 'O',
'Ố', 'Ồ', 'Ỗ', 'Ỗ', 'Ộ', 'Ô',
'Ớ', 'Ờ', 'Ỡ', 'Ỡ', 'Ợ', 'Ơ',
'ó', 'ò', 'ỏ', 'õ', 'ọ',
'ố', 'ồ', 'ổ', 'ỗ', 'ộ', 'ô',
'ớ', 'ờ', 'ở', 'ỡ', 'ợ', 'ơ'
};
char[] i = {
'Í', 'Ì', 'Ỉ', 'Ĩ', 'Ị', 'I',
'í', 'ì', 'ỉ', 'ĩ', 'ị',};
char[] y = {
'Ý', 'Ỳ', 'Ỷ', 'Ỹ', 'Ỵ', 'Y',
'ý', 'ỳ', 'ỷ', 'ỹ', 'ỵ',};
char[] d = {'Đ', 'đ'};
int length = input.length();
char current_character;
boolean added = false;
StringBuilder strbdr = new StringBuilder(/*length*/);
for (int j = 0; j < length; j++) {
added = false;
current_character = input.charAt(j);
// System.out.println(current_character);
for (char c : u) {
if (c == current_character) {
// System.out.println("check "+ c +" "+current_character);
strbdr.append('u');
added = true;
break;
}
}
if (added == true) {
continue;
}
for (char c : a) {
if (c == current_character) {
strbdr.append('a');
added = true;
break;
}
}
if (added == true) {
continue;
}
for (char c : e) {
if (c == current_character) {
strbdr.append('e');
added = true;
break;
}
}
if (added == true) {
continue;
}
for (char c : o) {
if (c == current_character) {
strbdr.append('o');
added = true;
break;
}
}
if (added == true) {
continue;
}
for (char c : i) {
if (c == current_character) {
strbdr.append('i');
added = true;
break;
}
}
if (added == true) {
continue;
}
for (char c : y) {
if (c == current_character) {
strbdr.append('y');
added = true;
break;
}
}
if (added == true) {
continue;
}
for (char c : d) {
if (c == current_character) {
strbdr.append('d');
added = true;
break;
}
}
if (added == true) {
continue;
}
strbdr.append(current_character);
}
return strbdr.toString();
}
public static String toLowerVnm(String input) {
String str = input;
char[] u = {
'Ú', 'Ù', 'Ủ', 'Ũ', 'Ụ', 'U',
'Ứ', 'Ừ', 'Ử', 'Ữ', 'Ự', 'Ư',};
char[] u1 = {
'ú', 'ù', 'ủ', 'ũ', 'ụ', 'u',
'ứ', 'ừ', 'ử', 'ữ', 'ự', 'ư'};
char[] a = {
'Á', 'À', 'Ả', 'Ã', 'Ạ', 'A',
'Ắ', 'Ằ', 'Ẩ', 'Ẵ', 'Ặ', 'Ă',
'Ấ', 'Ầ', 'Ẩ', 'Ẫ', 'Ậ', 'Â',};
char[] a1 = {
'á', 'à', 'ả', 'ã', 'ạ', 'a',
'ắ', 'ằ', 'ẳ', 'ẵ', 'ặ', 'ă',
'ấ', 'ầ', 'ẩ', 'ẫ', 'ậ', 'â'};
char[] e = {
'É', 'È', 'Ẻ', 'Ẽ', 'Ẹ', 'E',
'Ế', 'Ề', 'Ể', 'Ễ', 'Ệ', 'Ê',};
char e1[] = {
'é', 'è', 'ẻ', 'ẽ', 'ẹ', 'e',
'ế', 'ề', 'ể', 'ễ', 'ệ', 'ê'
};
char[] o = {
'Ó', 'Ò', 'Ỏ', 'Õ', 'Ọ', 'O',
'Ố', 'Ồ', 'Ỗ', 'Ỗ', 'Ộ', 'Ô',
'Ớ', 'Ờ', 'Ỡ', 'Ỡ', 'Ợ', 'Ơ',};
char[] o1 = {
'ó', 'ò', 'ỏ', 'õ', 'ọ', 'o',
'ố', 'ồ', 'ổ', 'ỗ', 'ộ', 'ô',
'ớ', 'ờ', 'ở', 'ỡ', 'ợ', 'ơ'
};
char[] ii = {
'Í', 'Ì', 'Ỉ', 'Ĩ', 'Ị', 'I',};
char[] ii1 = {
'í', 'ì', 'ỉ', 'ĩ', 'ị', 'i',};
char[] y = {
'Ý', 'Ỳ', 'Ỷ', 'Ỹ', 'Ỵ', 'Y',};
char[] y1 = {
'ý', 'ỳ', 'ỷ', 'ỹ', 'ỵ', 'y'
};
char[] d = {'Đ',};
char[] d1 = {'đ'};
for (int i = 0; i < a.length; i++) {
str = str.replace(a[i], a1[i]);
}
for (int i = 0; i < d.length; i++) {
str = str.replace(d[i], d1[i]);
}
for (int i = 0; i < e.length; i++) {
str = str.replace(e[i], e1[i]);
}
for (int i = 0; i < ii.length; i++) {
str = str.replace(ii[i], ii1[i]);
}
for (int i = 0; i < o.length; i++) {
str = str.replace(o[i], o1[i]);
}
for (int i = 0; i < u.length; i++) {
str = str.replace(u[i], u1[i]);
}
for (int i = 0; i < y.length; i++) {
str = str.replace(y[i], y1[i]);
}
str = str.toLowerCase();
return str;
}
public static String removeTextBetweenBracket(String input) {
String t = input;
t = t.replaceAll("\\(.*\\)", "");
// t = "Áo sơ mi caro đỏ tay ngắn[Mã SP: 168]";
t = t.replaceAll("\\[.*\\]", "");
// logger.info(t);
// t = "Áo sơ mi caro đỏ tay ngắn*Mã SP: 168*";
t = t.replaceAll("\\*.*\\*", "");
// logger.info(t);
// t = "Áo sơ mi caro đỏ tay ngắn{Mã SP: 168}";
t = t.replaceAll("\\{.*\\}", "");
return t;
}
public static String makeBold(String orginal, String relative) {
String[] t = orginal.replaceAll(" +", " ").split(" ");
String output = relative.replaceAll(" +", " ").trim();
output = " " + output + " ";
for (String str : t) {
if (str.trim().length() == 0) {
continue;
}
if (relative.contains(str)) {
output = output.replace(str, "<b>" + str + "</b>");
}
}
output = output.replace("</b> <b>", " ");
return output.trim();
}
public static String removeNonWord(String input) {
//[^\\p{L}\\p{N}]
return input.replaceAll("[^\\p{L} ]", "");
}
public static String generateIdFromName(String input) {
if (input == null) {
return "";
}
String output = filterUTF8(input);
output = toLowerVnm(output);
output = output.replace(" ", "-").replace("/", "");
return output;
}
}
Không có nhận xét nào:
Đăng nhận xét