我使用正则表达式来检查字符串是否只包含数字,破折号和空格:
Regex regex = new Regex(@"^[0-9- ]+$");
if(!regex.IsMatch(str))
如果没有正则表达式我怎么能做到这一点?
您可以使用linq来遍历字符,使用char.IsDigit
来检查是否有数字。
bool invalid = myString.Any( x => x != ' ' && x != '-' && !char.IsDigit(x) );
下面是一个LINQ解决方案:
var allowedChars = "1234567890- ";
var str = "3275-235 23-325";
if (str.All(x => allowedChars.Contains(x))){
Console.WriteLine("true");
}