Android(安卓)获取汉字拼音
16lz
2021-12-04
Android提供了汉字转拼音的类。但是这个类是在联系人app下的。具体目录是packages/providers/ContactsProvider/src/com/android/providers/contacts的HanziToPinyin.java文件。如果想要这个工具类,可以直接拷贝来用。 获取一段汉字全拼方法: public String getFullPinYin(String source){ if (!Arrays.asList(Collator.getAvailableLocales()).contains(Locale.CHINA)) { return source; } ArrayList<Token> tokens = HanziToPinyin.getInstance().get(source); if (tokens == null || tokens.size() == 0) { return source; } StringBuffer result = new StringBuffer(); for (Token token : tokens) { if (token.type == Token.PINYIN) { result.append(token.target); } else { result.append(token.source); } return result.toString(); } 获取一段汉字简拼的方法: public String getFirstPinYin(String source){ if (!Arrays.asList(Collator.getAvailableLocales()).contains(Locale.CHINA)) { return source; } ArrayList<Token> tokens = HanziToPinyin.getInstance().get(source); if (tokens == null || tokens.size() == 0) { return source; } StringBuffer result = new StringBuffer(); for (Token token : tokens) { if (token.type == Token.PINYIN) { result.append(token.target.charAt(0)); } else { result.append("#"); } return result.toString(); } 举例: String str = "我是中国人"; getFullPinYin(str); //返回的是 WOSHIZHONGGUOREN getFirstPinYin(str); //返回的是WSZGR 本篇文章来源于 Linux公社网站(www.linuxidc.com) 原文链接:http://www.linuxidc.com/Linux/2012-07/64870.htm
更多相关文章
- Android(安卓)Android(安卓)Studio 快捷键整理分享,IntelliJ IDE
- RN和Android(安卓)通信实操
- android onTouchEvent和setOnTouchListener中onTouch的区别
- Android获取手机信号强度/信号格数
- android 数据持久化简述
- android开发每日汇总【2011-11-02】
- Android多线程同步转异步方法总结
- android 上调试动态库方法
- Android开发秘籍学习笔记(一)