假设我有一组不需要的字符& " > < { } ( )
,并且我想验证给定的字符串不包含那些字符,现在我编写的函数如下:
bool IsStringValid(string s){
if(s.Contains("&")| s.Contains(">")...)
return false;
return true;
}
我如何写得更优雅?例如在正则表达式中?
答案 0 :(得分:2)
正则表达式始终是您的朋友。
Regex validationRegex = new Regex(@"^[^&""><{}\(\)]*$");
bool IsStringValid(string s) => validationRegex.IsMatch(s);
答案 1 :(得分:2)
bool isValid = !Regex.IsMatch(input, "[&\"><{}()]+");
但是我建议您不要使用正则表达式:
bool isValid = !"&\"><{}()".Any(c=> input.Contains(c));