首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >统计C++中字符串中的字符出现次数

统计C++中字符串中的字符出现次数
EN

Stack Overflow用户
提问于 2010-10-06 05:28:45
回答 12查看 360.8K关注 0票数 247

如何计算像"bla_bla_blabla_bla"这样的字符串中的"_"数量

EN

回答 12

Stack Overflow用户

发布于 2010-10-06 17:59:18

#include <algorithm>

std::string s = "a_b_c";
size_t n = std::count(s.begin(), s.end(), '_');
票数 493
EN

Stack Overflow用户

发布于 2010-10-06 05:32:29

伪码:

count = 0
For each character c in string s
  Check if c equals '_'
    If yes, increase count

编辑: C++示例代码:

int count_underscores(string s) {
  int count = 0;

  for (int i = 0; i < s.size(); i++)
    if (s[i] == '_') count++;

  return count;
}

注意,这是与std::string一起使用的代码,如果您使用的是char*,请将s.size()替换为strlen(s)

另请注意:我可以理解你想要“尽可能小”的东西,但我建议你改用这个解决方案。如您所见,您可以使用一个函数来封装代码,这样就不必每次都写出for循环,而只需在其余代码中使用count_underscores("my_string_")即可。在这里使用先进的C++算法当然是可能的,但我认为这有点过分了。

票数 38
EN

Stack Overflow用户

发布于 2013-01-14 20:27:07

#include <boost/range/algorithm/count.hpp>

std::string str = "a_b_c";
int cnt = boost::count(str, '_');
票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3867890

复制
相关文章

相似问题

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