问题: 想要删除std::string中的指定字符‘-’,又不想循环遍历删除。 解决: 使用 std::erase 和 std::remove std::string str; str.erase(std::remove(str.begin(), str.end(), '-'), str.end()); //str = "string:-name:-sponge-" // 执行之后结果: //str = "string:name:sponge" ok!