日期:2014-05-17  浏览次数:21040 次

c#将中文转换成拼音,以空格隔开,全拼,获取汉字首字母,PinyinHelper

将中文转换成拼音:

。支持以空格隔开

。支持全拼

。支持获取汉字首字母

using System;
using System.Collections.Generic;
using System.Text;
using System.Collections;
using System.Text.RegularExpressions;

/// <summary>
/// 中文获取拼音
/// </summary>
public class PinyinHelper
{
    //穷举拼音
    private static Hashtable _pinyinHash;
    //匹配字母
    private static Regex regWord = new Regex("[a-zA-Z]");
    //匹配数字
    private static Regex regNum = new Regex("[0-9]");

    #region 拼音Hashtable
    static PinyinHelper()
    {
        _pinyinHash = new Hashtable();
        _pinyinHash.Add(-20319, "a");
        _pinyinHash.Add(-20317, "ai");
        _pinyinHash.Add(-20304, "an");
        _pinyinHash.Add(-20295, "ang");
        _pinyinHash.Add(-20292, "ao");
        _pinyinHash.Add(-20283, "ba");
        _pinyinHash.Add(-20265, "bai");
        _pinyinHash.Add(-20257, "ban");
        _pinyinHash.Add(-20242, "bang");
        _pinyinHash.Add(-20230, "bao");
        _pinyinHash.Add(-20051, "bei");
        _pinyinHash.Add(-20036, "ben");
        _pinyinHash.Add(-20032, "beng");
        _pinyinHash.Add(-20026, "bi");
        _pinyinHash.Add(-20002, "bian");
        _pinyinHash.Add(-19990, "biao");
        _pinyinHash.Add(-19986, "bie");
        _pinyinHash.Add(-19982, "bin");
        _pinyinHash.Add(-19976, "bing");
        _pinyinHash.Add(-19805, "bo");
        _pinyinHash.Add(-19784, "bu");
        _pinyinHash.Add(-19775, "ca");
        _pinyinHash.Add(-19774, "cai");
        _pinyinHash.Add(-19763, "can");
        _pinyinHash.Add(-19756, "cang");
        _pinyinHash.Add(-19751, "cao");
        _pinyinHash.Add(-19746, "ce");
        _pinyinHash.Add(-19741, "ceng");
        _pinyinHash.Add(-19739, "cha");
        _pinyinHash.Add(-19728, "chai");
        _pinyinHash.Add(-19725, "chan");
        _pinyinHash.Add(-19715, "chang");
        _pinyinHash.Add(-19540, "chao");
        _pinyinHash.Add(-19531, "che");
        _pinyinHash.Add(-19525, "chen");
        _pinyinHash.Add(-19515, "cheng");
        _pinyinHash.Add(-19500, "chi");
        _pinyinHash.Add(-19484, "chong");
        _pinyinHash.Add(-19479, "chou");
        _pinyinHash.Add(-19467, "chu");
        _pinyinHash.Add(-19289, "chuai");
        _pinyinHash.Add(-19288, "chuan");
        _pinyinHash.Add(-19281, "chuang");
        _pinyinHash.Add(-19275, "chui");
        _pinyinHash.Add(-19270, "chun");
        _pinyinHash.Add(-19263, "chuo");
        _pinyinHash.Add(-19261, "ci");
        _pinyinHash.Add(-19249, "cong");
        _pinyinHash.Add(-19243, "cou");
        _pinyinHash.Add(-19242, "cu");
        _pinyinHash.Add(-19238, "cuan");
        _pinyinHash.Add(-19235, "cui");
        _pinyinHash.Add(-19227, "cun");
        _pinyinHash.Add(-19224, "cuo");
        _pinyinHash.Add(-19218, "da");
        _pinyinHash.Add(-19212, "dai");
        _pinyinHash.Add(-19038, "dan");
        _pinyinHash.Add(-19023, "dang");
        _pinyinHash.Add(-19018, "dao");
        _pinyinHash.Add(-19006, "de");
        _pinyinHash.Add(-19003, "deng");
        _pinyinHash.Add(-18996, "di");
        _pinyinHash.Add(-18977, "dian");
        _pinyinHash.Add(-18961, "diao");
        _pinyinHash.Add(-18952, "die");
        _pinyinHash.Add(-18783, "ding");
        _p