2

可能重复:
在 C++ 中通过多个分隔符将字符串拆分为单词

我目前正在尝试读取一个文件,其中每一行都有不同的制表符和空格分隔需要插入二叉树的关键属性。

我的问题是:如何仅使用 STL 使用多个分隔符来拆分队列?在一天的大部分时间里,我一直在试图解决这个问题,但无济于事。

任何建议将不胜感激。

4

2 回答 2

9

利用std::string::find_first_of

vector<string> bits;
size_t pos = 0;
size_t newpos;
while(pos != string::npos) {
    newpos = str.find_first_of(" \t", pos);
    bits.push_back(str.substr(pos, newpos-pos));
    if(pos != string::npos)
        pos++;
}
于 2012-10-26T01:58:00.033 回答
3

使用string::find_first_of()[1]

int main ()
{
  string str("Replace the vowels in this sentence by asterisks.");
  size_t found;

  found = str.find_first_of("aeiou");
  while (found != string::npos) {
    str[found]='*';
    found=str.find_first_of("aeiou", found + 1);
  }

  cout << str << endl;

  return 0;
}
于 2012-10-26T01:57:26.117 回答