假设我有以下内容:
std::string some_string = "2009-06-27 17:44:59.027";
Run Code Online (Sandbox Code Playgroud)
问题是:给代码替换some_string中所有" - "和":"的实例,并带有空格即""
我正在寻找一个简单的衬垫(如果可能的话)
可以使用Boost.
replace_if( some_string.begin(), some_string.end(), boost::bind( ispunct<char>, _1, locale() ), ' ' );
Run Code Online (Sandbox Code Playgroud)
一行而不是n ^ 2运行时间或调用正则表达式引擎; v),虽然有点悲伤,你需要提升这个.
小智 5
Boost有一个字符串算法库,似乎在雷达下飞行:
有一个基于正则表达式的替换版本,类似于post 1,但我发现find_format_all更好的性能.这是一个单行启动:
find_format_all(some_string,token_finder(is_any_of("-:")),const_formatter(" "));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
948 次 |
| 最近记录: |