技术开发 频道

ASP.net中获取中文首字母的方法

  【IT168 技术文档】

  C#实现代码

public class Converter
  {

  
static public 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;

  }

  
static public string getSpell(string cnChar)

  {

  
byte[] arrCN = Encoding.Default.GetBytes(cnChar);

  
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 Encoding.Default.GetString(new byte[] { (byte)(97 + i) });

  }

  }

  
return "*";

  }

  
else return cnChar;

  }

  }
0
相关文章