关于汉语转换拼音的组件
最近在做一个网站的搜索功能,其中有一个功能模块是,当用户输入的汉字是错误的也能识别出来其相似的结果,拿到这个功能后思考之后,决定使用微软的拼音转换组件:Simplified Chinese Pin-Yin Conversion Library 可以把想要搜索的字段换成拼音进行存储
这个类库并不太难,而且微软提供了开发文档:相信一看就会:
代码如下:
/// <summary>/// 获取指定字符串中的单个字符的(不包括多音字)拼音/// </summary>/// <param name="str"></param>/// <returns></returns>public static string GetStrPY(string str){StringBuilder sb = new StringBuilder();foreach (char obj in str){try{ChineseChar chineseChar = new ChineseChar(obj);if (ChineseChar.IsValidChar(obj)){string t = chineseChar.Pinyins[0].ToString().ToLower();sb.Append(t.Substring(0, t.Length - 1)); }else{sb.Append(obj);}}catch{sb.Append(obj.ToString());}}return sb.ToString();}/// <summary>/// 获取指定/// </summary>/// <param name="str"></param>/// <returns></returns>public static string GetStrPYs(string str){StringBuilder sb = new StringBuilder();string old=string.Empty;foreach (char obj in str){try{ChineseChar chineseChar = new ChineseChar(obj);for (int i = 0; i < chineseChar.PinyinCount; i++){string t = chineseChar.Pinyins[i].ToString().ToLower().Substring(0, chineseChar.Pinyins[i].ToString().Length - 1);if ((string.IsNullOrEmpty(old)) || (!old.Equals(t))){old = t;sb.Append(t);}}}catch{sb.Append(obj.ToString());}}return sb.ToString();}/// <summary>/// 获取制定字符串的拼音首字母/// </summary>/// <param name="str"></param>/// <returns></returns>public static string GetFirstPinyin(string str){StringBuilder sb = new StringBuilder();foreach (char obj in str){try{ChineseChar chineseChar = new ChineseChar(obj);string t = chineseChar.Pinyins[0].ToString();sb.Append( t.Substring(0, 1));}catch{sb.Append( obj.ToString());}}return sb.ToString();}
转载于:https://www.cnblogs.com/One-dream-man/archive/2012/12/24/2831642.html
关于汉语转换拼音的组件相关推荐
- php 汉语转换拼音
<?php/**************************************************************************** Pinyin.php* -- ...
- java将中文转换成拼音_java实现将汉语转换为拼音功能
这几天在做项目的时候用到了通过拼音去数据库表里面去模糊查询汉语字段,刚开始的时候感觉特别神奇,查了好多资料,直接去模糊查询是能实现的,但是貌似很复杂.所以最终取了一个比较容易的方案,就是给数据库表里面 ...
- 用C#写的汉语转拼音缩写的例子
以前用C#写的一个汉语转拼音所写的例子,拿出来与大家共享下,呵呵,有什么好的改进,希望大家共同探讨:原文链接 1using System; 2using System.Data; 3using ...
- iOS汉语转拼音以及按照拼音排序
在iOS中汉语转拼音可以使用系统提供的方法,也可以使用第三方库来实现,但是网上说使用系统方法实现的话性能会比较差,此处只是提供方法,至于选择使用哪种方法,自己看情况而定. 1.系统方法 主要使用到了方 ...
- Java实现汉字转换拼音功能
使用工具类: <dependency><groupId>com.belerweb</groupId><artifactId>pinyin4j</a ...
- 汉字文章转换拼音的好工具 pinyinConvert.v20120709
汉字文章转换拼音的好工具 pinyinConvert.v20120709 ..适合于对汉字不太熟悉的人员,如小孩子,外国人,外族人等. ---------------原文------------ 分析 ...
- Java语言汉语转换为拼音
最近做东西需要将汉语转换为拼音,在网上正好有开源的包可以实现,下载地址:http://pinyin4j.sourceforge.net/.Mark一下,以后可能用得到,示例代码如下: import n ...
- java实现将汉语转换为拼音
这几天在做项目的时候用到了通过拼音去数据库表里面去模糊查询汉语字段,刚开始的时候感觉特别神奇,查了好多资料,直接去模糊查询是能实现的,但是貌似很复杂.所以最终取了一个比较容易的方案,就是给数据库表里面 ...
- 昵称到拼音php,php 汉字转换拼音程序_PHP教程
php 汉字转换拼音程序 $p=ord(substr($str,$i,1)); if($p>160){ $q=ord(substr($str,++$i,1)); $p=$p*256+$q-655 ...
最新文章
- (C/C++学习)6.数组指针和指针数组
- Hyperic HQ 应用性能管理解决方案
- mongodb导入json文件
- Oracle查询日期
- 無法在 module_path 中找出佈景主題引擎:‘clearlooks’,
- 选择技术栈构建通用平台
- ie9 Flash内容无法显示
- apache mod_xsendfile提高php文件下载速度的方法
- mysql整理_MySQL 日常整理
- Define a New Server 没有tomcat选项
- python自动化办公excel-Python自动化办公之操作Excel文件
- C++ array vector 数组
- 1489 数据结构:矩阵鞍点
- MTK 一个分支兼容多客户开机Logo方案
- Android版数据结构与算法(十二):经典排序算法再回顾
- QT与LINUXC后台网络通信实现飞机票网络购票
- 两度转向,做社区团购,生鲜电商留给美团的时间并不多
- 10个简单的放松运动
- linux的第一个内核,Linus Torvalds启动了第一个RC版本的Linux内核4.15
- 汇编语言(二)之将十进制数的ASCⅡ码转换为BCD码