c# 剔除一串字符串中標點符號以及字母特殊符號的辦法


1、剛開始用正則,想把標點符號提取出來,后來查了下,標點符號非連續段,要想全部匹配,就得枚舉,太麻煩

當然也有收獲:常用正則匹配

2、用C# Char結構方法:char.IsSymbol("我的天哪,等等")等包括數字,字母,標點符號char.IsPunctuation(”?“)等

有問題,判斷不准

3、單位前輩說,所有中文字符ASCII碼值都小於零,用這個判斷就是了(不過還是出問題了,似乎判斷不准)

 public bool isChinese(String word)
        {
            char dd = Convert.ToChar(word);
            
            if (Convert.ToInt32(dd)<0)
            {
                MessageBox.Show(word);
                return false;
            }
            else
            {
                MessageBox.Show(Convert.ToInt32(dd).ToString()+"...."+word);
                return true;
            }
        }

4、用正則:

 //判斷非漢字字符單獨處理
        public bool isSymbol(String word)
        {
            char dd = Convert.ToChar(word);
            //漢字,返錯
            MessageBox.Show(Convert.ToInt32(dd).ToString());
            Regex rx = new Regex("^[\u4e00-\u9fa5]$");
            if (rx.IsMatch(word))
            {
                return false;
            }
            //非漢字,返真
            else
            {
                return true;
            }
        }

再加上后來js對相應位置以及坐標的處理,效率低啊,搞了一天!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM