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對相應位置以及坐標的處理,效率低啊,搞了一天!