• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

ASP.NET 根据汉字获取汉字拼音的首字母(含多音字)

asp 搞代码 4年前 (2022-01-03) 42次浏览 已收录 0个评论

本文分享了一个函数,这个函数可以根据汉字的字符串获取其拼音的首字母,以便我们在实际开发中使用。

在很多时候,我们需要将汉字的拼音首字母存储到数据库,以便我们能通过首字母进行快速的查询,常见的有百度搜索,你只要输入拼音的首字母,就会出现相关的搜索的关键词,再比如一些办公系统中,查询一个人的姓名,为了简单方便,只输这个人的名字的首字母,就能快速检索。

话不多说,代码分享给大家:

 #region 获取汉字转换拼音 首字母 public string MkPinyinString(string HanZiStr) //获取汉字字符串的拼音首字母,含多音字 { int i, j, k, m; string tmpStr; string returnStr = ""; //返回最终结果的字符串 string[] tmpArr; for (i = 0; i  0) { //汉字的拼音首字母存在的情况才进行操作 if (returnStr != "") { //不是第一个汉字 Regex regex = new Regex(","); tmpArr = regex.Split(returnStr); returnStr = ""; for (k = 0; k <tmpArr.Length; k++) { for (j = 0; j <tmpStr.Length; j++) //对返回的每个首字母进行拼接 { string charcode = tmpStr[j].ToString(); //取出第j个拼音字母 returnStr += tmpArr[k] + charcode + ","; } } if (returnStr != "") returnStr = returnStr.Substring(0, returnStr.Length - 1); } else { //构造第一个汉字返回结果 for (m = 0; m  40869 || uni <19968) return resStr; //返回该字符在Unicode字符集中的编码值 i = MultiPinyin.IndexOf(uni.ToString()); //检查是否是多音字,是按多音字处理,不是就直接在strChineseFirstPY字符串中找对应的首字母 if (i <0) //获取非多音字汉字首字母 { resStr = strChineseFirstPY[uni - 19968].ToString(); } else { //获取多音字汉字首字母 j = MultiPinyin.IndexOf(",", i); resStr = MultiPinyin.Substring(i + 6, j - i - 6); } return resStr; } #endregion

以上就是ASP.NET 根据汉字获取汉字拼音的首字母(含多音字)的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:ASP.NET 根据汉字获取汉字拼音的首字母(含多音字)
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址