此问题已在此处有答案:
How would you count occurrences of a string (actually a char) within a string?(35个回答)
9年前关闭。
我试图得到某个字符的出现次数,例如&
在下面的字符串中。
string test = "key1=value1&key2=value2&key3=value3";
字符串
我如何确定在上面的测试字符串变量中有2个&号(&)?
此问题已在此处有答案:
How would you count occurrences of a string (actually a char) within a string?(35个回答)
9年前关闭。
我试图得到某个字符的出现次数,例如&
在下面的字符串中。
string test = "key1=value1&key2=value2&key3=value3";
字符串
我如何确定在上面的测试字符串变量中有2个&号(&)?
6条答案
按热度按时间v6ylcynt1#
你可以这样做:
字符串
使用LINQ:
型
gijlo24d2#
因为
LINQ
可以做任何事情……:字符串
或者,如果您愿意,可以使用接受 predicate 的
Count
重载:型
erhoui1w3#
最直接、最有效的方法是简单地循环字符串中的字符:
字符串
您可以使用LINQ扩展来创建一个更简单、几乎同样高效的版本。虽然开销有点多,但在性能上仍然惊人地接近循环:
型
然后是旧的
Replace
技巧。然而,这更适合于循环笨拙(SQL)或缓慢(VBScript)的语言:型
gtlvzcf84#
为什么要使用regex
String
实现了IEnumerable<char>
,所以你可以只使用LINQ。字符串
du7egjpx5#
您的字符串示例看起来像GET的查询字符串部分。如果是这样,请注意HttpContext可以为您提供一些帮助
字符串
有关可以使用QueryString执行的更多操作,请参见NameValueCollection
5gfr0r5j6#
下面是获得所有答案中计数的最低效的方法。但是你会得到一个包含键值对的字典作为奖励。
字符串