我有一个像这样的字符串
string str ="dfdsfdsf8fdfdfd9dfdfd4"
我需要通过循环遍历数组来检查字符串是否包含数字.
正则表达式怎么样:
bool val = System.Text.RegularExpressions.Regex.IsMatch(str, @"\d");
如果要查找整数值,可以使用int.TryParse:
int result; if (int.TryParse("123", out result)) { Debug.WriteLine("Valid integer: " + result); } else { Debug.WriteLine("Not a valid integer"); }
要检查十进制数,请将Dec.TryParse替换为Decimal.TryParse.查看此博客文章和评论"为什么您应该在C#中使用TryParse()"以获取详细信息.
如果您需要十进制数字,您也可以使用此正则表达式:
return System.Text.RegularExpressions.Regex.IsMatch( TextValue, @"^-?\d+([\.]{1}\d*)?$");
最后另一种选择(如果你不虔诚地反对VB.NET),你可以使用Microsoft.VisualBasic命名空间中的方法:
Microsoft.VisualBasic.Information.IsNumeric("abc");
如果你要遍历字符串,请不要使用int.TryParse ......这太重了.相反,使用char.IsNumber();
例:
foreach (char c in myString) if (char.IsNumber(c)) return true;