用C#写的将汉字转换为拼音首字母
来源:互联网 发布:sql语音中删除表命令 编辑:程序博客网 时间:2024/06/11 20:59
近日需要做一个医院的项目,要求用拼音来检索药品名称,就需要一个将汉字转换成拼音首字母序列的功能,网上现有的许多类似的功能只能是做对常用字进行检索,但对一些冷辟字就不行了,今天看了一个用SQL Server写的一个转换函数,我把它转换成C#的,下面是汉字转换成首字母列的类的代码:
public class RealHanzi2Py
...{
public RealHanzi2Py()
...{
}
public static string GetPy(string HanZi)
...{
string PyString = "吖八嚓咑妸发旮铪讥讥咔垃呣拿讴趴七呥仨他哇哇哇夕丫匝咗";
string CurChar,vReturn="";
for (int nFor = 0; nFor < HanZi.Length;nFor++ )
...{
CurChar = HanZi.Substring(nFor, 1);
for (int nPyFor = 0; nPyFor < PyString.Length;nPyFor++ )
...{
int Ret = CurChar.CompareTo(PyString.Substring(nPyFor, 1));
if (Ret < 0)
...{
string Ch = "";
if (nPyFor != -1)
Ch = Convert.ToChar(64 + nPyFor).ToString();
else
Ch = CurChar;
vReturn = vReturn.Trim() + Ch;
break;
}
}
}
return vReturn;
}
}
...{
public RealHanzi2Py()
...{
}
public static string GetPy(string HanZi)
...{
string PyString = "吖八嚓咑妸发旮铪讥讥咔垃呣拿讴趴七呥仨他哇哇哇夕丫匝咗";
string CurChar,vReturn="";
for (int nFor = 0; nFor < HanZi.Length;nFor++ )
...{
CurChar = HanZi.Substring(nFor, 1);
for (int nPyFor = 0; nPyFor < PyString.Length;nPyFor++ )
...{
int Ret = CurChar.CompareTo(PyString.Substring(nPyFor, 1));
if (Ret < 0)
...{
string Ch = "";
if (nPyFor != -1)
Ch = Convert.ToChar(64 + nPyFor).ToString();
else
Ch = CurChar;
vReturn = vReturn.Trim() + Ch;
break;
}
}
}
return vReturn;
}
}
使用这个类非常简单,如下:
public partial class Form1 : Form
...{
public Form1()
...{
InitializeComponent();
}
private void BtnPingYing_Click(object sender, EventArgs e)
...{
//可以转换一些不常用的字
TxtPingYing.Text = RealHanzi2Py.GetPy(TxtHanZi.Text);
}
private void Form1_Load(object sender, EventArgs e)
...{
TxtHanZi.Text = "吖吖八嚓咑妸发旮铪讥讥咔垃呣拿讴趴七呥仨他哇哇哇夕丫匝咗啊我是中国人旸喆垚铔疟";
}
}
...{
public Form1()
...{
InitializeComponent();
}
private void BtnPingYing_Click(object sender, EventArgs e)
...{
//可以转换一些不常用的字
TxtPingYing.Text = RealHanzi2Py.GetPy(TxtHanZi.Text);
}
private void Form1_Load(object sender, EventArgs e)
...{
TxtHanZi.Text = "吖吖八嚓咑妸发旮铪讥讥咔垃呣拿讴趴七呥仨他哇哇哇夕丫匝咗啊我是中国人旸喆垚铔疟";
}
}
便可,但有一个缺点,就是对多音字无法辨识,如“银行”,转换的结果是:YX。不过对于我所做的项目来讲,这是无关紧要的,因为不需要来区分多音字的,只要能检索出来就可以了。
可惜源代码无法上传,以后再传吧。
- 用C#写的将汉字转换为拼音首字母
- C#将汉字转换为拼音首字母
- 将汉字转换为大写的拼音首字母
- php将汉字转换为拼音和得到词语首字母
- C#将汉字转换为拼音[转]
- 将汉字转换为拼音的C#类
- SQL将用户表中已存在的数据所有姓名(汉字)转换为拼音首字母
- C#将汉字转换为拼音(按照拼音搜索)
- C#将汉字转换为拼音(按照拼音搜索)
- EXLE中将汉字转换为拼音首字母的函数
- java汉字转换为拼音首字母
- C#汉字转拼音(npinyin)将中文转换成拼音全文或首字母
- C#汉字转拼音(npinyin)将中文转换成拼音全文或首字母
- C#汉字转换为拼音的类
- 将汉字转换为拼音
- 将汉字转换为拼音
- 将汉字转换为拼音
- 将汉字转换为拼音
- 如果不满意 就果断辞职吧
- 手把手教你做一个简单的VB数据库程序
- 求助:java程序错误:exception in thread "main" java.lang.noclassdeffounderror:Test
- 利用DevExpress的LayoutControl控件实现界面的自动生成
- 使用此数据库模板, 以便创建针对一般用途进行优化的预配置的数据库。
- 用C#写的将汉字转换为拼音首字母
- spring JpetStore学习笔记(四)
- java 设计工厂模式
- 使用Double-Buffer来实现无闪烁动态折线图
- [转]JAVA环境变量设置完全版
- 大连冲刺信息产业上市军团
- 以下的 J2EE 应用程序已经配置, 并且可用下面列出的 URL 来访问
- 用C#画图的方法收集
- 三种继承方式与三种访问权限的相互组合