让我们假设以下内容:
string s("!Hello!'");
我的目的是在s变量中获取,只有“Hello”字符串,IOW我想去掉感叹号。
我尝试了以下方法:
std::remove ( s.begin(), s.end(), '!' );
当我 cout 得到的 s 字符串时,我得到:
Helloo!
这 ”!” 字符已被删除,但字符串的末尾没有移动。
我已经读到我需要从 std::remove 的返回值中取回一个迭代器,但我是 C++ 的新手并且没有成功。
我希望像 char::iterator 这样的东西是有效的,但似乎不是......所以
char::iterator new_end;
new_end = std::remove ( s.begin(), s.end(), '!' );
cout << new_end ;
做不到。
任何帮助/指针将不胜感激!