【发布时间】:2011-07-06 00:24:33
【问题描述】:
我有以下简单的测试,由于某种原因没有返回 true。
string[] test = new string[] { "A", " ", " ", "D", "" };
Regex reg = new Regex(@"^[A-Z]\s$");
bool ok = test.All(x => reg.IsMatch(x));
我也尝试将 \s 放在方括号内,但这也不起作用
我想确保数组中所有非空字符或空格字符都与 A-Z 匹配。
我意识到我可以在 All 之前执行 Where(x=>!String.IsNullorEmpty(x) && x != " ") 但我认为 Regex 可以处理这种情况
【问题讨论】:
-
在 .Net 4 中,您还拥有 String.IsNullOrWhiteSpace,它消除了对 && x != " " 的需求。虽然无法使用正则表达式,抱歉(我很烂)
-
请尽量清楚你的意思是字符串,哪里是字符:“数组中所有非空字符串的字符”——字符和字符串不是一回事。跨度>
-
@Jon:仍然不清楚你的意思,因为你有一个 strings 数组。我认为如果您可以将示例简化为匹配 single 字符串,那将非常有帮助。一旦你弄清楚了如何让单个字符串按照你想要的方式工作,你就可以继续使用
All匹配多个字符串。