C#拼音转换,将简体中文转换成拼音
1. 要进行拼音转换操作,首先要引入几个文件,也就是用于操作拼音转换的文件,就是微软提供给开发者的一个类库
Microsoft Visual Studio International Pack 1.0 SR1 点击进行下载
也可以在我提供给大家的下载链接中下载:
http://pan.baidu.com/share/link?shareid=652797632&uk=2937807614
这两个地方资源一样,里面有7个文件:
CHSPinYinConv.msi是把简体中文转换成拼音的组件,
CHTCHSConv.msi是进行繁简体互相转换的组件
其他的根据需求进行安装,主要是获取里面的文件,如下图
比如简体中文转换拼音组件安装完之后,在安装目录找到文件
把这三个文件拷贝到项目中,再对ChnCharInfo.dll添加引用,这样我们就开始我们的代码编写:如下
#region 获取字符串的全拼
/// <summary>
/// 获取字符串的全拼
/// </summary>
/// <param name="str">要转换的字符串</param>
/// <returns></returns>
public string GetPinYin(string str)
{
string r = string.Empty;
foreach (char obj in str)
{
if (ChineseChar.IsValidChar(obj))//识别这个字符是否是一个有效的汉字字符
{
try
{
ChineseChar chin = new ChineseChar(obj);//就是通过这个类进行转换
string t = chin.Pinyins[].ToString();//获取到每个字符的第一个拼音 //之所以获取全拼也要截取是因为每个字符的拼音后面有一个数字代表音调,所以要去掉
r += t.Substring(, t.Length - );//length-1就是去掉最后的数字
}
catch (Exception)
{
r += obj.ToString();//如果出现异常则原样输出字符串
throw;
}
}
else
{
r += obj;
}
}
return r;
}
#endregion #region 获取字符串的首字母
/// <summary>
/// 获取字符串的首字母
/// </summary>
/// <param name="str">要转换的字符串</param>
/// <returns></returns>
public string GetFirstPinYin(string str)
{
string r = string.Empty;
foreach (char obj in str) //遍历字符串的每个字符
{
if (ChineseChar.IsValidChar(obj))//识别这个字符是否是一个有效的汉字字符
{
try
{
ChineseChar chin = new ChineseChar(obj);
string t = chin.Pinyins[].ToString();//获取到每个字符的第一个拼音
r += t.Substring(, );// 把每个拼音的首字母用Substring进行截取出来再拼接
}
catch (Exception)
{
r += obj.ToString();//如果出现异常则原样输出字符串
throw;
}
}
else
{
r += obj;
}
}
return r;
}
#endregion
C#实习简体中文转换成拼音的代码
如调用GetPinYin("李亚杰");//得到的结果是:LIYAJIE
如调用GetFirstPinYin("李亚杰");//得到的结果是:LYJ
文件不大,功能却很强大
C#拼音转换,将简体中文转换成拼音的更多相关文章
- C#汉字转拼音(npinyin)将中文转换成拼音全文或首字母
汉字转拼音貌似一直是C#开发的一个难题,无论什么方案都有一定的bug,之前使用了两种方案. 1.Chinese2Spell.cs 一些不能识别的汉字全部转为Z 2.Microsoft Visual S ...
- SQL 汉字转换成拼音首字母 首字母查
-- ============================================= -- 功能:汉字转换成拼音首字母 首字母查 -- ========================== ...
- java中汉字自动转换成拼音
java中汉字自动转换成拼音 1.需要下载jar包 pinyin4j.2.5.0.jar ,加入到WEB-INF下的lib里边,右键add to bulid path. 2.[代码]PinYinUti ...
- python把汉字转换成拼音实现程序
python把汉字转换成拼音实现程序 文章一个简洁干的汉字转拼音 程序,复制下载就可以直接使用,有需要的同学可以参考一下下. #coding:utf-8 #基于python2.6 table = 'a ...
- C++ 将汉字转换成拼音全拼
#include <string> using std::string; //======================================================= ...
- 基于jQuery实现汉字转换成拼音代码
基于jQuery实现汉字转换成拼音代码.这是一款基于jQuery.Hz2Py.js插件实现的汉字转拼音特效.效果图如下: 在线预览 源码下载 实现的代码. html代码: <br /> ...
- SnowNLP:•中文分词•词性标准•提取文本摘要,•提取文本关键词,•转换成拼音•繁体转简体的 处理中文文本的Python3 类库
SnowNLP是一个python写的类库,可以方便的处理中文文本内容,是受到了TextBlob的启发而写的,由于现在大部分的自然语言处理库基本都是针对英文的,于是写了一个方便处理中文的类库,并且和Te ...
- C++ 将汉字转换成拼音全拼【转载】
转载自https://www.cnblogs.com/mzhrd/p/4758105.html #include <string> using std::string; //======= ...
- 使用 js 实现一个中文自动转换成拼音的工具库
使用 js 实现一个中文自动转换成拼音的工具库 中文 => zhong-wen 应用场景 SEO 友好, URL 自动转换 blogs 发布文章,自动化部署,自动生成 url 的 path (时 ...
随机推荐
- adobeMediaServer
参考地址: http://www.piis.cn/news/new519.asp http://www.cuplayer.com/player/PlayerCode/RTMP/2012/0918427 ...
- 15.导入网表及status介绍[原创]
一.导入网表 在导入网表之前你的封装需确认是在你的封装路径下 建立Board工程后: ① ② ③ ④放置器件 ⑤ (切记,封装路径一定要添加) 二.status介绍 --- (常用) -------- ...
- mtk Android 编译命令自定义--添加版本号
1. alps\build\core\Makefile文件:(参照CUSTOM_BUILD_VERNO) ifeq "" "$(SURPLUS_BUILD_VERNO)& ...
- MTK6577 Android源代码目录
MTK6577 Android源代码目录 1. MTKAndroid4.0 源代码目录 (1) makeMtk 整个工程编译或是构建(make/build)的入口. (2) abi 应用程 ...
- hibernate的各种保存方式的区别 (save,persist,update,saveOrUpdte,merge,flush,lock)等
hibernate的保存hibernate对于对象的保存提供了太多的方法,他们之间有很多不同,这里细说一下,以便区别:一.预备知识:在所有之前,说明一下,对于hibernate,它的对象有三种状态,t ...
- IntelliJ IDEA创建第一个Java小程序
我尝试了汉化,会影响IDE部分功能. 其实IDE完全没必要汉化,就那么几个单词,不懂的话,就有道字典查一下吧. 汉化易于入门,不汉化一样可以使用. 我爱这个编辑器,非常之强大,就是比较占内存. 我爱这 ...
- Android开源库--ActiveAndroid(active record模式的ORM数据库框架)
Github地址:https://github.com/pardom/ActiveAndroid 前言 我一般在Android开发中,几乎用不到SQLlite,因为一些小数据就直接使用Preferen ...
- 聚合函数字段注意.where和having的区别
当使用聚合函数时,出现在select中的字段要么出现在聚合函数里,要么出现在group by 子句里.像下面这句是错误的: 1 SELECT detno,AVG(sal),job FROM emp ...
- [ionic开源项目教程] - 第15讲 ionic用户个人中心登录注册的实现
第15讲 ionic用户个人中心登录注册的实现 这一讲包括登陆.注册.个人中心.个人资料页面的实现. 在一讲的改动有四个地方: 在config.js里配置接口地址 完善个人中心的服务层(service ...
- UVa 10878 Decode the tape
题目很简单,代码也很短.第一遍做的时候,我居然二乎乎的把input里面的小框框忽略掉了,所以WA了一次. 每一行代表一个二进制的ASCII码,'o'代表1,空格代表0,中间的小黑点忽略. 我直接把一行 ...