2011年10月12日 星期三

[NET] 如何判斷字串是否為中文

因為某種需求 (如要字串自動換行, 字串又中英文交叉 )
而需要判斷是否為中文字
方法很簡單重點只有一個  中文字起始範圍是0x4E00-0x9FFF
抓住這個去判斷就對了啦!!

//判斷指定字串內的指定位置是否為中文字
        private bool CheckChineseString(string strInputString, int intIndexNumber)
        {
            int intCode = 0;

            //中文範圍(0x4e00 - 0x9fff)轉換成int(intChineseFrom - intChineseEnd)
            int intChineseFrom = Convert.ToInt32("4e00", 16);
            int intChineseEnd = Convert.ToInt32("9fff", 16);
            if (strInputString != "")
            {
                //取得input字串中指定判斷的index字元的unicode碼
                intCode = Char.ConvertToUtf32(strInputString, intIndexNumber);  

                if (intCode >= intChineseFrom && intCode <= intChineseEnd)
                {
                    return true;     //如果是範圍內的數值就回傳true
                }
                else
                {
                    return false;    //如果是範圍外的數值就回傳true
                }
            }
            return false;
        }



原始文章出自於此




沒有留言:

張貼留言