我试图计算我的字符串中有多少*符号。但我得到一个错误。
未处理的类型' System.ArgumentException'发生在System.dll
中
我只是使用正则表达式匹配来检查它。当我用任何其他字符串进行测试时,它工作得很好,但是当我搜索" *"它是一个例外。
这里是给出表达的代码
string abc = "i am just trying *** for a sample code";
var count = Regex.Matches(abc, "*").Count;
Console.Out.WriteLine(count);
这个完美无缺
string abc = "i am just trying for a sample code";
var count = Regex.Matches(abc, "a").Count;
Console.Out.WriteLine(count);
任何想法为什么?
答案 0 :(得分:11)
您可以改用LINQ Count
:
string abc = "i am just trying *** for a sample code";
var result = abc.Count(c=>c=='*');
答案 1 :(得分:6)
*
是一个元字符,需要转义
var count = Regex.Matches(abc, @"\*").Count;
答案 2 :(得分:2)
*
在正则表达式中具有特殊含义,您应该使用\
将其转义。尝试:
var count = Regex.Matches(abc, @"\*").Count;