• 相对应的汉语拼音首字母串<收藏>


    /// <summary> 
    /// 在指定的字符串列表CnStr中检索符合拼音索引字符串 
    /// </summary> 
    /// <param name="CnStr">汉字字符串</param> 
    /// <returns>相对应的汉语拼音首字母串</returns> 
    public static string GetSpellCode(string CnStr) 

    string strTemp=""
    int iLen=CnStr.Length; 
    int i=0

    for (i=0;i<=iLen-1;i++

    strTemp
    +=GetCharSpellCode(CnStr.Substring(i,1)); 


    return strTemp; 



    /// <summary> 
    /// 得到一个汉字的拼音第一个字母,如果是一个英文字母则直接返回大写字母 
    /// </summary> 
    /// <param name="CnChar">单个汉字</param> 
    /// <returns>单个大写字母</returns> 
    private static string GetCharSpellCode(string CnChar) 

    long iCnChar; 

    byte[] ZW = System.Text.Encoding.Default.GetBytes(CnChar); 

    //如果是字母,则直接返回 
    if (ZW.Length==1

    return CnChar.ToUpper(); 

    else 

    // get the array of byte from the single char 
    int i1 = (short)(ZW[0]); 
    int i2 = (short)(ZW[1]); 
    iCnChar 
    = i1*256+i2; 


    //expresstion 
    //table of the constant list 
    // 'A'; //45217..45252 
    // 'B'; //45253..45760 
    // 'C'; //45761..46317 
    // 'D'; //46318..46825 
    // 'E'; //46826..47009 
    // 'F'; //47010..47296 
    // 'G'; //47297..47613 

    // 'H'; //47614..48118 
    // 'J'; //48119..49061 
    // 'K'; //49062..49323 
    // 'L'; //49324..49895 
    // 'M'; //49896..50370 
    // 'N'; //50371..50613 
    // 'O'; //50614..50621 
    // 'P'; //50622..50905 
    // 'Q'; //50906..51386 

    // 'R'; //51387..51445 
    // 'S'; //51446..52217 
    // 'T'; //52218..52697 
    //没有U,V 
    // 'W'; //52698..52979 
    // 'X'; //52980..53640 
    // 'Y'; //53689..54480 
    // 'Z'; //54481..55289 

    // iCnChar match the constant 
    if ((iCnChar>=45217&& (iCnChar<=45252)) 

    return "A"

    else if ((iCnChar>=45253&& (iCnChar<=45760)) 

    return "B"

    else if ((iCnChar>=45761&& (iCnChar<=46317)) 

    return "C"

    else if ((iCnChar>=46318&& (iCnChar<=46825)) 

    return "D"

    else if ((iCnChar>=46826&& (iCnChar<=47009)) 

    return "E"

    else if ((iCnChar>=47010&& (iCnChar<=47296)) 

    return "F"

    else if ((iCnChar>=47297&& (iCnChar<=47613)) 

    return "G"

    else if ((iCnChar>=47614&& (iCnChar<=48118)) 

    return "H"

    else if ((iCnChar>=48119&& (iCnChar<=49061)) 

    return "J"

    else if ((iCnChar>=49062&& (iCnChar<=49323)) 

    return "K"

    else if ((iCnChar>=49324&& (iCnChar<=49895)) 

    return "L"

    else if ((iCnChar>=49896&& (iCnChar<=50370)) 

    return "M"


    else if ((iCnChar>=50371&& (iCnChar<=50613)) 

    return "N"

    else if ((iCnChar>=50614&& (iCnChar<=50621)) 

    return "O"

    else if ((iCnChar>=50622&& (iCnChar<=50905)) 

    return "P"

    else if ((iCnChar>=50906&& (iCnChar<=51386)) 

    return "Q"

    else if ((iCnChar>=51387&& (iCnChar<=51445)) 

    return "R"

    else if ((iCnChar>=51446&& (iCnChar<=52217)) 

    return "S"

    else if ((iCnChar>=52218&& (iCnChar<=52697)) 

    return "T"

    else if ((iCnChar>=52698&& (iCnChar<=52979)) 

    return "W"

    else if ((iCnChar>=52980&& (iCnChar<=53640)) 

    return "X"

    else if ((iCnChar>=53689&& (iCnChar<=54480)) 

    return "Y"

    else if ((iCnChar>=54481&& (iCnChar<=55289)) 

    return "Z"

    else return ("?"); 
    }
  • 相关阅读:
    单例模式
    C++中迭代器原理、失效和简单实现
    C++中静态成员变量要在类外部再定义或初始化的原因
    idea maven javaweb项目迁移时的maven和版本报错问题解决(可解决同类错误)
    java 继承类之后,访问不到超类的属性的原因及解决方法
    spring boot admin
    javaweb 报表生成(pdf excel)所需要用到的技术和思路
    团队合作开发git冲突解决方案 Intellij IDEA
    【项目管理】 使用IntelliJ IDEA 将项目发布(提交)到GitLab
    IDEA/Git 设置多个push远程仓库或者同时提交多个push仓库
  • 原文地址:https://www.cnblogs.com/kingwangzhen/p/1823346.html
Copyright © 2020-2023  润新知