JAVA UTF-8编码中文转拼音
附件下载链接
代码块
import java.util.Map;
import java.util.Map.Entry;
import java.util.regex.Pattern;
public class Spell
{
static String ch = "";
private static Map<String, Object> characterMap = JSONUtil.FromJSONStringToMap(ch);
private static Pattern letters = Pattern.compile("[a-zA-Z0-9\\- ]");
public static String getChineseSpell(String str,boolean isshouzim,boolean isspecalchar)
{
int l2 = str.length();
String I1 = "";
for (int i=0;i<l2;i++) {
String val = str.substring(i, i+1);
String name = arraySearch(val);
if((letters.matcher(val).matches()||!isspecalchar)&&name==null) {
I1 += val;
}
else
{
if (name!=null) {
if(isshouzim)
name= name.substring(0, 1);
I1 += name;
}
}
}
return I1;
}
public static String arraySearch(String l1){
for (Entry<java.lang.String, Object> iterable_element : characterMap.entrySet()) {
if(iterable_element.getValue().toString().contains(l1))
{
return iterable_element.getKey();
}
}
return null;
}
/**
* 测试方法
* @param args
*/
public static void main(String[] args) throws Exception{
System.out.println(getChineseSpell("ss夫发射点凤生凤3232。。。",true,true));
}
}