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

 
原创粉丝点击