c# - 支票包含数字/数字

标签 c# .net contains

我对 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/

相关文章:

c# - 如何按角色进行不同登录 ASP.NET Core 2.2

jquery - 让 .this 进入下一个函数

arrays - Loopback where 数组类型字段上的过滤器

c# - 我可以通过 C# 代码获取防火墙的状态吗?

c# - SpecFlow 可重用步骤定义

.net - 无法在 Windows 7 中安装第三方 Windows 服务

c# - 为什么要使用模拟框架?

c# - 我可以使用 Jenkins 在 Ubuntu 上构建 C# 项目吗?

c# - 不能在谓词中使用 IEnumerable<string>

C# 文本冒险音乐问题