C#提取汉字首字母

王朝学院·作者佚名  2009-11-04
窄屏简体版  字體: |||超大  

view plaincopy to clipboardprint?

·········10········20········30········40········50········60········70········80········90········100·······110·······120·······130·······140·······150

using System;

using System.Collections.Generic;

using System.Text;

namespace StringOption

{

public class GetStringSpell

{

/// <summary>

/// 提取汉字首字母

/// </summary>

/// <param name="strText">需要转换的字</param>

/// <returns>转换结果</returns>

public static string GetChineseSpell(string strText)

{

int len = strText.Length;

string myStr = "";

for (int i = 0; i < len; i++)

{

myStr += getSpell(strText.Substring(i, 1));

}

return myStr;

}

/// <summary>

/// 把提取的字母变成大写

/// </summary>

/// <param name="strText">需要转换的字符串</param>

/// <returns>转换结果</returns>

public static string GetLowerChineseSpell(string strText)

{

return GetChineseSpell(strText).ToLower();

}

/// <summary>

/// 把提取的字母变成大写

/// </summary>

/// <param name="myChar">需要转换的字符串</param>

/// <returns>转换结果</returns>

public static string GetUpperChineseSpell(string strText)

{

return GetChineseSpell(strText).ToUpper();

}

/// <summary>

/// 获取单个汉字的首拼音

/// </summary>

/// <param name="myChar">需要转换的字符</param>

/// <returns>转换结果</returns>

public static string getSpell(string myChar)

{

byte[] arrCN = System.Text.Encoding.Default.GetBytes(myChar);

if (arrCN.Length > 1)

{

int area = (short)arrCN[0];

int pos = (short)arrCN[1];

int code = (area << 8) + pos;

int[] areacode = { 45217, 45253, 45761, 46318, 46826, 47010, 47297, 47614, 48119, 48119, 49062, 49324, 49896, 50371, 50614, 50622, 50906, 51387, 51446, 52218, 52698, 52698, 52698, 52980, 53689, 54481 };

for (int i = 0; i < 26; i++)

{

int max = 55290;

if (i != 25) max = areacode[i + 1];

if (areacode[i] <= code && code < max)

{

return System.Text.Encoding.Default.GetString(new byte[] { (byte)(65 + i) });

}

}

return "_";

}

else return myChar;

}

}

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航