博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于汉语转换拼音的组件
阅读量:6682 次
发布时间:2019-06-25

本文共 2772 字,大约阅读时间需要 9 分钟。

最近在做一个网站的搜索功能,其中有一个功能模块是,当用户输入的汉字是错误的也能识别出来其相似的结果,拿到这个功能后思考之后,决定使用微软的拼音转换组件:Simplified Chinese Pin-Yin Conversion Library  可以把想要搜索的字段换成拼音进行存储

这个类库并不太难,而且微软提供了开发文档:相信一看就会:

代码如下:

///         /// 获取指定字符串中的单个字符的(不包括多音字)拼音        ///         ///         /// 
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(); } /// /// 获取指定 /// /// ///
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(); } /// /// 获取制定字符串的拼音首字母 /// /// ///
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

你可能感兴趣的文章
psql: FATAL: role “postgres” does not exist
查看>>
新版剑指offer14 剪绳子
查看>>
Feign 请求拦截器和日志
查看>>
WPF内实现与串口发送数据和接收数据
查看>>
Ideal test 不执行main方法了
查看>>
kbengine_js_plugins
查看>>
ElasticSearch的各种服务的URL
查看>>
工厂模式之数据工厂
查看>>
IBM Java多线程 - 1. 线程基础
查看>>
关系数据库的末日是否已经来临(转载)
查看>>
Myeclipse中导入jar包的方法
查看>>
topcoder srm 715 div1 -23
查看>>
梯度下降(Gradient Descent)小结
查看>>
一起谈.NET技术,使用User Control做HTML生成
查看>>
谷歌启动搜索引擎新功能 网页Flash内容即时预览
查看>>
专访梭子鱼:以“立体交付”保障Web应用安全
查看>>
微软SQL Server 2012新特性Silverlight报表客户端 - Power View
查看>>
记一次网站收录数和排名的实现
查看>>
pthread_cond_wait()用法分析
查看>>
poj-3368 Frequent values ***
查看>>