"This_Is_A_Test" 我想替换所有逗号、空格和“|”带下划线。 (我可以访问 Boost。) -6ren">
gpt4 book ai didi

C++字符替换

转载 作者:可可西里 更新时间:2023-11-01 16:52:49 25 4
gpt4 key购买 nike

替换字符串中字符的最佳方法是什么?

具体来说:

"This,Is A|Test" ----> "This_Is_A_Test"

我想替换所有逗号、空格和“|”带下划线。

(我可以访问 Boost。)

最佳答案

您可以使用标准的 replace_if 算法,除了谓词相当复杂(要与当前的 C++ 标准内联表达并且没有 lambda)。

您可以自己编写,或使用来自 boost 字符串算法的 is_any_of,因此:

#include <algorithm>
#include <string>
#include <boost/algorithm/string/classification.hpp>
#include <iostream>

int main()
{
std::string s("This,Is A|Test");
std::replace_if(s.begin(), s.end(), boost::is_any_of(", |"), '_');
std::cout << s << '\n';
}

关于C++字符替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1820394/

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