我想删除字符串中存在的撇号。我试图写点东西,但似乎语法错误。我无法弄清楚问题出在哪里,但是我知道我的语法有问题。我使用Dev-C++。

{...
cout<<"enter the word to test "<<endl;
getline(cin,givenword);
string str (givenword);

std::string deleteapostr(givenword);
// trying to delete apostrophe if present in the string
deleteapostr.erase(std::remove_if(deleteapostr.begin(), deleteapostr.end(), '\'', deleteapostr.end());
...
}

最佳答案

  • remove_if的第3个参数要求谓词,而不是元素值。您需要简单的旧remove
  • 您缺少remove_if参数的右括号。

  • deleteapostr.erase(std::remove(deleteapostr.begin(), deleteapostr.end(), '\''), deleteapostr.end());
    

    关于c++ - 我想删除字符串中的撇号,但不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8017559/

    10-11 18:29