ASP.NET中获取中文首字母的方法
来源:互联网 发布:java发邮件代码步骤 编辑:程序博客网 时间:2024/04/29 00:30
' <summary> ' 获取中文字符串的首字母 ' </summary> '<param name="strText"></param> ' <returns></returns> Public Shared Function GetChineseSpell(ByVal strText As String) As String Dim len As Integer = strText.Length Dim myStr As String = "" Dim i As Integer = 0 For i = 0 To len - 1 myStr += getSpell(strText.Substring(i, 1)) Next Return myStr End Function '/// <summary> '/// 获取单个中文的首字母 '/// </summary> '/// <param name="cnChar"></param> '/// <returns></returns> Private Shared Function getSpell(ByVal cnChar As String) As String Dim arrCN As Byte() = Encoding.Default.GetBytes(cnChar) If arrCN.Length > 1 Then Dim area As Integer = arrCN(0) Dim pos As Integer = arrCN(1) Dim code As Integer = (area << 8) + pos Dim areacode As Integer() =
{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} Dim i As Integer = 0 For i = 0 To 25 Dim max As Integer = 55290 If i <> 25 Then max = areacode(i + 1) End If If areacode(i) <= code And code < max Then Return Encoding.Default.GetString(New Byte() {(97 + i)}) End If Next Return "*" Else Return cnChar End If End Function