android 按照拼音模糊查询中如何把字符转换成拼音
2013-12-09 16:16
579 查看
http://files.cnblogs.com/liaolandemengxiang/%E6%96%B0%E5%BB%BA%E6%96%87%E4%BB%B6%E5%A4%B9.rar
首先转换成的格式是“pinyin+汉字”,对于多音字也要这么排列。另外要注意,对于同音不同声调的要剔除重复的,数字和特殊字符不需要进行转换。还有要注意大小写。
上面是转换的方法,要注意数字和特殊字符会抛出异常,捕获异常后把字符直接拼上就可以了。
最后还有v 和u:,转换出的结果是u:来表示V,所以这是需要进行替换。还有前面的两篇是讲模糊查询的思路的,可以一起看看。
首先转换成的格式是“pinyin+汉字”,对于多音字也要这么排列。另外要注意,对于同音不同声调的要剔除重复的,数字和特殊字符不需要进行转换。还有要注意大小写。
private String name2search(String name) { //Log.d("查询", name); name = name.replace(" ", ""); char[] chars = name.toCharArray(); HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat(); defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE); defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE); StringBuffer sb = new StringBuffer(); for (int i = 0; i < chars.length; i++) { char c = chars[i]; String[] pinyingStr; String cpinyin = ""; try { pinyingStr = PinyinHelper.toHanyuPinyinStringArray(c, defaultFormat); for (int j = 0; j < pinyingStr.length; j++) { String pyandn = pinyingStr[j] + c; if (!cpinyin.contains(pyandn)) { cpinyin = cpinyin + pyandn; } } } catch (BadHanyuPinyinOutputFormatCombination e) { // TODO Auto-generated catch block e.printStackTrace(); cpinyin = "" + c; } catch (Exception e) { cpinyin = "" + c; } cpinyin = cpinyin.replace("u:", "v"); sb.append(cpinyin); } //Log.d("结果", sb.toString()); return sb.toString(); }
上面是转换的方法,要注意数字和特殊字符会抛出异常,捕获异常后把字符直接拼上就可以了。
最后还有v 和u:,转换出的结果是u:来表示V,所以这是需要进行替换。还有前面的两篇是讲模糊查询的思路的,可以一起看看。
相关文章推荐
- Android Contact分析(二):实战篇之读取联系人,模糊查询,通过汉字返回拼音
- Android Contact分析(二):实战篇之读取联系人,模糊查询,通过汉字返回拼音
- Oracle如何通过拼音模糊查询数据库表的字段(比如Name)
- MySQL模糊查询特殊字符如何查询?
- 从零开始学android开发-字符如何转换整形 string 转化为int
- 如何在SQL模糊查询中忽略对大小写字符的处理
- Android Contact分析(二):实战篇之读取联系人,模糊查询,通过汉字返回拼音
- 如何通过UDF实现查询汉字拼音的首字母?
- Android 联系人模糊查询
- 如何利用matlab将模糊逻辑转化为查询表
- Unity将字符数组转换为字符串向Android传递消息
- 使用SQL如何把用逗号等字符隔开的字符串转换成列表,以及把列合并成符合隔开的字符串(转)
- 如何将android studio项目转换成eclipse
- Android中汉字转换成拼音报错的处理解决.....
- mysql使用参数化查询,like模糊查询,应如何拼接字符串
- Firebird:如何查询字符字段值后三位为0的记录
- 关于excel中,如何将中文字转换成拼音首字母的问题
- Android实现按A-Z字母排序和模糊查询
- Android中如何将View的内容转换为图片
- SqlServer中模糊查询对于特殊字符的处理方法