C#使用DotNetCommon.PinYin标出汉字拼音
使用DotNetCommon.PinYin
库,可以标注文字的拼音,应用了该库的几个方法,效果很不错。可以通过NuGet安装:
或:
dotnet add package DotNetCommon
获取字符串拼音
//
// 摘要:
// 获取拼音全拼,支持多音,中文字符集为[0x3400,0x9FD5],注:偏僻汉字很多未验证
//
// 参数:
// text:
// 原文本
//
// tone:
// 是否带声调
public static string GetPinyin(string text, bool tone = false)
{
return string.Join("", PinyinDict.GetPinyinList(text, tone ? 1 : 0));
}
应用举例
using DotNetCommon.PinYin;
Console.WriteLine(WordsHelper.GetPinyin("曾经", true));
执行效果
CéngJīng
获取人名拼音
//
// 摘要:
// 获取姓名拼音,中文字符集为[0x3400,0x9FD5],注:偏僻汉字很多未验证
//
// 参数:
// name:
// 姓名
//
// tone:
// 是否带声调
public static string GetPinyinForName(string name, bool tone = false)
{
return string.Join("", PinyinDict.GetPinyinForName(name, tone ? 1 : 0));
}
有时候,一些系统需要获取用户的拼音,这个方法非常有帮助,示例如下:
using DotNetCommon.PinYin;
Console.WriteLine(WordsHelper.GetPinyinForName("曾经", true));
运行结果
ZēngJīng
获取单个字符的所有拼音
//
// 摘要:
// 获取所有拼音,中文字符集为[0x3400,0x9FD5],注:偏僻汉字很多未验证
//
// 参数:
// c:
// 原文本
//
// tone:
// 是否带声调
public static List<string> GetAllPinyin(char c, bool tone = false)
{
return PinyinDict.GetAllPinyin(c, tone ? 1 : 0);
}
这个方法可以列出某个字的所有拼音,代码如下:
using DotNetCommon.PinYin;
var charPinYinList = WordsHelper.GetAllPinyin('说', true);
foreach (var charPinYin in charPinYinList)
{
Console.WriteLine(charPinYin);
}
运行效果
Shuō
Shuì
Yuè
原文地址:https://blog.csdn.net/Humbunklung/article/details/143630833
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!