在C ++中简单的std :: string替换

时间:2013-10-16 12:32:42

标签: c++ date replace

我使用以下代码替换Windows操作系统中system date格式的特殊字符。

但我只能替换一个角色。

代码:

#include <iostream>
#include <string>
using namespace std;

int main ()
{
    string str("10/16/13");
    string str2("/");
    str.replace(str.find(str2),str2.length(),"-");
    cout << str << endl;
    return 0;
}

输出:

10-16/13

2 个答案:

答案 0 :(得分:12)

如果您只想替换单个字符,则可以使用<algorithm>标题中的std::replace

std::replace(str.begin(), str.end(), '/', '-');

这将用'/'替换字符串中的所有'-'

答案 1 :(得分:-1)

看起来你必须手动替换

for (int i=0; i < str.length(); i++){
    if (str[i] == '/')
        str[i] = '-';
}