首页  >  文章  >  后端开发  >  如何使用多个分隔符分割字符串?

如何使用多个分隔符分割字符串?

Linda Hamilton
Linda Hamilton原创
2024-11-11 04:03:03424浏览

How to Split Strings with Multiple Delimiters?

使用多个分隔符分割字符串[重复]

在文本处理中,经常需要将字符串分成单独的单词或标记。虽然标准字符串分割技术擅长处理单个分隔符,但使用多个分隔符时任务变得更具挑战性。

问题:

给定一个字符串和一组分隔符,如何我们可以在考虑所有指定的情况下将字符串拆分为单词吗分隔符?

解决方案:

为了使用多个分隔符有效地分割字符串,我们利用字符串流和子字符串操作的组合。下面是所提供代码的修改版本:

std::stringstream stringStream(inputString);
std::string line;
while(std::getline(stringStream, line)) {
    std::size_t prev = 0, pos;
    auto delimiters = " ';";  // Customize delimiter string here
    while ((pos = line.find_first_of(delimiters, prev)) != std::string::npos) {
        if (pos > prev)
            wordVector.push_back(line.substr(prev, pos-prev));
        prev = pos+1;
    }
    if (prev < line.length())
        wordVector.push_back(line.substr(prev, std::string::npos));
}

说明:

  • 我们使用 std::getline 迭代输入字符串中的每一行。
  • 对于每一行,我们使用 std::find_first_of 来定位第一个分隔符的位置
  • 如果找到分隔符,我们将前一个分隔符和当前分隔符之间的子字符串添加到 wordVector。
  • 然后我们更新 prev 以指向分隔符之后的字符.
  • 处理整行后,如果不是,我们将剩余的子字符串添加到 wordVector空。

以上是如何使用多个分隔符分割字符串?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn