其實判斷是否爲特殊字符有兩種思路:
第一種思路,將所有特殊字符都列出來,判斷目標字符串包含特殊字符。
public bool IsSpecialChar(string str){
Regex regExp = new Regex("[ \\[ \\] \\^ \\-_*×――(^)$%~!@@##$…&%¥—+=<>《》!!???::•`·、。,;,.;/\'\"{}()‘’“”-]");
if(regExp.IsMatch(str)){
return true;
}
return false;
}
這種思路的問題就是你不能漏掉任何一個特殊字符,要不然代碼就有Bug
第二種思路,將所有不是特殊字符的字符都列出來,判斷目標字符串是否不包含這些字符
public bool IsSpecialChar(string str){
Regex regExp = new Regex("[^0-9a-zA-Z\u4e00-\u9fa5]");
if(regExp.IsMatch(str)){
return true;
}
return false;
}
這種思路的好處就是隻要把漢字、字母、數字這些不是特殊字符的字符列出來。