首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用C#检查字符串是否只有空格或零

使用C#检查字符串是否只有空格或零
EN

Stack Overflow用户
提问于 2014-06-20 01:18:30
回答 5查看 2.9K关注 0票数 1

我想要检测IBAN帐户在zero 0中是否全部为数字,例如

00 0000 000 00 0000000000

所以我构建了这个正则表达式模式来检查它:

^(0\s){0,25}$

参数是:检查输入字符串是否只有空格或零。

但这是行不通的。有什么帮助吗?谢谢。

EN

回答 5

Stack Overflow用户

发布于 2014-06-20 01:23:18

下面是一个非正则表达式的示例。

代码语言:javascript
运行
复制
string input = "00 0000 000 00 0000000000";

bool isNotAllZeros = input
    .Where(x => char.IsDigit(x))
    .Any(x => x != '0');

它说:“获取字符串中的所有数字,看看是否有不是‘0’的数字。”

另一种方法(避免双重否定),使用All,这在阅读时可能更有意义:

代码语言:javascript
运行
复制
bool isAllZeros = input
    .Where(x => char.IsDigit(x))
    .All(x => x == '0');

上面写着“输入的数字都是‘0’吗?”

票数 3
EN

Stack Overflow用户

发布于 2014-06-20 01:22:55

您可以使用or运算符|

代码语言:javascript
运行
复制
^(0|\s){0,25}$

或者,您可以使用character类:

代码语言:javascript
运行
复制
^[0\s]{0,25}$

忘记上面的内容。您可以这样做:

代码语言:javascript
运行
复制
string input = "00 0000 000 00 0000000000";
bool isAllNum = input.IndexOf(" ") == -1; //true if all are numbers without space
票数 2
EN

Stack Overflow用户

发布于 2014-06-20 01:26:43

如果要检查0或空格,请将0和空格字符添加到character class中。如果要匹配(\n\r\t\f' '),请就地使用\s

代码语言:javascript
运行
复制
^[0 ]{0,25}$
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24312640

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档