using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Microsoft.International.Converters.PinYinConverter;
using System.Collections.ObjectModel;
namespace pinyinhelper
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
label1.Text = Convert(textBox1.Text,true);
}
private string Convert(string strInputString,bool blIsLower)
{
char[] chars = strInputString.ToCharArray();
string strPinYin = "";
ChineseChar cc;
for (int i = 0; i < chars.Length; i++)
{
try
{
cc = new ChineseChar(chars[i]);
if (cc.PinyinCount > 0)
{
strPinYin += GetNoNumberString(cc.Pinyins[0]);
}
}
catch
{
if (IsNumberOrEnlishWord(chars[i].ToString()))
{
strPinYin += chars[i].ToString();
}
}
}
if (blIsLower)
{
strPinYin = strPinYin.ToLower();
}
return strPinYin;
}
private bool IsNumberOrEnlishWord(string strInput)
{
return System.Text.RegularExpressions.Regex.IsMatch(strInput, @"[a-z0-9A-Z]+");
}
private string GetNoNumberString(string strString)
{
return System.Text.RegularExpressions.Regex.Replace(strString,@"/d+","");
}
}
}
利用微软的Visual Studio International Pack 1.0进行中文转换为拼音
最新推荐文章于 2021-04-20 07:46:14 发布