不多说,直接看代码。。谢谢韩棠同学提供..这里做了 一个转换成大写的步骤,也可以去除掉。
public class Test {
private static Transliterator pinyinTransliterator = Transliterator
.getInstance("Han-Latin;NFD;[[:NonspacingMark:][:Space:]] Remove");
/**
* 将中文转换成字母。
* example: 正回--> ZHENGHUI
* "zhenghui光辉" --> ZHENGHUIGUANGHUI
* @param formStr
* @return
*/
private String transferPinyin(String formStr){
String pinyin = pinyinTransliterator.transliterate(formStr);
if(pinyin != null && pinyin.length() > 0){
return pinyin.toUpperCase();
} else {
return "";
}
}
}
对应的pom依赖是
<dependency> <groupId>com.ibm.icu</groupId> <artifactId>icu4j</artifactId> <version>49.1</version> </dependency>