C# 汉字转化拼音的简单实例代码

时间:2021-05-20

首先引入ChnCharInfo.dll 第3方的一个库

代码:

btn_chinChar_Click事件:
复制代码 代码如下:
private void btn_chinChar_Click(object sender, EventArgs e)
{
ChineseChar cr =null;
string str = "", txtString = txt_string.Text.Trim();
if (!string.IsNullOrEmpty(txtString))
{
foreach (var item in cr.GetChineseSpellings(txtString))
{
str += item + "-";
}
}
MessageBox.Show(str);
}

扩展方法:

复制代码 代码如下:
public static class ChineseCharacters
{
public static ICollection<string> GetChineseSpellings(this ChineseChar chinChar ,string value)
{
List<string> list;
int i,start;
char c;

if (string.IsNullOrEmpty(value))return null;

start = 0;
list = new List<string>();

for (i = 0; i < value.Length; ++i)
{
c = value[i];
if (ChineseChar.IsValidChar(c))
{
if (i > start)
{
list.Add(value.Substring(start, i - start));
}
chinChar = new ChineseChar(c);
list.Add(chinChar.Pinyins.First().Substring(0, chinChar.Pinyins.First().Length - 1).ToLower());
start = i + 1;
}
}

if (i > start)
{
list.Add(value.Substring(start, i - start));
}
return list;
}
}

运用结果:

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章