我对 C# Visual Studio 还很陌生。我想问是否可以使用 contains 函数来检查我的程序是否在 DataTable 行中包含数字/数字?
string checkstring = "1234567890";
Regex reNum = new Regex(@"^\d+$");
bool isNumeric = reNum.Match(checkstring).Success;
for (int i = 0; i < my_datatable.Rows.Count; i++)
{
data_source = my_datatable.Rows[i][4].ToString();
if (data_source.Contains(reNum.Match))
{
my_datatable.Rows[i][4] = "Contain Number";
}
else
{
my_datatable.Rows[d][4] = "No number";
}
}
但是好像根本不起作用,还有其他方法吗?谢谢您的回复!
最佳答案
如果您想检查单元格是否仅包含数字,则需要在 for
循环中使用正则表达式。
而不是
if (data_source.Contains(reNum.Match))
使用
if (reNum.Match(data_source))
如果 data_source
仅是数字,则返回 true(注意 - 仅适用于正整数 - 如果您有其他字符(如前导破折号、小数点或逗号),则需要不同的策略)。
如果您想测试是否存在任何数字(但其他字符也可以),那么您需要将正则表达式字符串更改为 @"\d"
,它将返回 true如果至少存在一位数字。
关于c# - 支票包含数字/数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44017821/