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对相应位置以及坐标的处理,效率低啊,搞了一天!