这里获得汉字的拼音使用了pinyin4j这个插件,因为多音字的原因效果并不理想

 /**
* 获得汉字拼音
* @param name
* @return
*/
@SuppressWarnings("deprecation")
public static String getPiYin(String src) {
HanyuPinyinOutputFormat outFormat = new HanyuPinyinOutputFormat();
outFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);
outFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
outFormat.setVCharType(HanyuPinyinVCharType.WITH_V);
try {
return PinyinHelper.toHanyuPinyinString(src, outFormat, "");
} catch (BadHanyuPinyinOutputFormatCombination e1) {
e1.printStackTrace();
return src;
}
} /**
* 获得拼音首字母
* @param name
* @return
*/
public static String getPinYinFirstLetter(String name){
char[] str=StringUtils.defaultIfEmpty(name, "").toCharArray();
String shouZiMu="";
for ( char string : str) {
shouZiMu+=getPiYin(String.valueOf(string)).charAt(0);
}
return shouZiMu;
} public boolean isChinese(char c) {
Character.UnicodeBlock ub = Character.UnicodeBlock.of(c);
if (ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS
|| ub == Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS
|| ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A
|| ub == Character.UnicodeBlock.GENERAL_PUNCTUATION
|| ub == Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION
|| ub == Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS) {
return true;
}
return false;
} public boolean isChinese(String s) {
return s.matches("[\\u4E00-\\u9FA5]+");
}

ChineseUtils的更多相关文章

  1. word2vec训练&IC分词(待)

    参考http://www.52nlp.cn/%E4%B8%AD%E8%8B%B1%E6%96%87%E7%BB%B4%E5%9F%BA%E7%99%BE%E7%A7%91%E8%AF%AD%E6%96 ...

  2. Java字符串中文检测转换

    public class ChineseUtils { public static void main(String[] args) { String str = "中国 (1).jpg&q ...

随机推荐

  1. MLlib--FPGrowth算法

    转载请标明出处http://www.cnblogs.com/haozhengfei/p/c9f211ee76528cffc4b6d741a55ac243.html FPGrowth算法_挖掘商品之间的 ...

  2. VisualSVN Server的配置和使用方法

    VisualSVN Server是免费的,而VisualSVN是收费的.VisualSVN是SVN的客户端,和Visual Studio集成在一起, VisualSvn Server是SVN的服务器端 ...

  3. input标签元素,value属性取值问题,赋值

    验证val:<input type="text" id="id" name="name" value="空值"&g ...

  4. Asp.net mvc 中Action 方法的执行(一)

    [toc] 在 Aps.net mvc 应用中对请求的处理最终都是转换为对某个 Controller 中的某个 Action 方法的调用,因此,要对一个请求进行处理,第一步,需要根据请求解析出对应的 ...

  5. zTree中父节点禁用,子节点可以用

    参考学习网址:http://www.treejs.cn/v3/main.php#_zTreeInfo zTree中父节点禁用,子节点可以用 axios.get('/base/unit/unittree ...

  6. xml报错 Parse Fatal Error :在实体引用中,实体名称必须紧跟在'&'后面

    修改jndi配置文件中的密码后,重启tomcat报错如下  实际问题是xml中默认’&’是非法字符,用     &   替代

  7. [知了堂学习笔记]_MVC设计模式与JavaWEB三层架构

    一.MVC设计模式 MVC模式(Model-View-Controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model).视图(View)和控制器(Controlle ...

  8. Number()和new Number()的区别以及一种简单实现

    看MDN Beginners文档的时候注意到了这种用法 var n1 = Number(123); , 冒出的第一个疑问就是和 var n2 = new Number(123); 有什么区别呢? 首先 ...

  9. Docker 创建ubuntu ,ssh,vnc 可连接

    **************************************************************************************************** ...

  10. 20170510 mysql导入导出csv

    一开始没加FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n' 导致导出的csv没有进行分 ...