c++ 使用 STL 从字符串中删除字符

c++ Removing characters from string using STL

本文关键字:删除 字符 字符串 使用 STL c++      更新时间:2023-10-16

我脑子有点屁:我想删除std::string'n'换行符的所有实例。我更喜欢使用 STL 而不是手动的、多嵌套的 for 循环;唯一的问题是我已经忘记了如何...

for(...) { std::string::remove_if(...); } ;行得通吗?我需要使用std::for_each(...,..., std::string::remove_if(...));吗?还是需要其他东西?

第一个想法:删除/擦除成语:

str.erase(std::remove(str.begin(), str.end(), 'n'), str.end());

如果你有Boost.Range,它的工作时间更短:

#include <boostrangealgorithm_exterase.hpp>
boost::remove_erase(str, 'n');