gpt4 book ai didi

c++ - 如何删除C++字符串中所有出现的字符

转载 作者:IT老高 更新时间:2023-10-28 12:01:29 25 4
gpt4 key购买 nike

我正在使用以下内容:

replace (str1.begin(), str1.end(), 'a' , '')

但这会导致编译错误。

最佳答案

基本上,replace 将一个字符替换为另一个字符,而 '' 不是字符。您正在寻找的是 erase

this question这回答了同样的问题。在你的情况下:

#include <algorithm>
str.erase(std::remove(str.begin(), str.end(), 'a'), str.end());

如果您愿意,也可以使用 boost,例如:

#include <boost/algorithm/string.hpp>
boost::erase_all(str, "a");

所有这些都在 reference 上有详细记录websites .但是如果你不知道这些功能,你可以很容易地用手做这种事情:

std::string output;
output.reserve(str.size()); // optional, avoids buffer reallocations in the loop
for(size_t i = 0; i < str.size(); ++i)
if(str[i] != 'a') output += str[i];

关于c++ - 如何删除C++字符串中所有出现的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20326356/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com