3

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

但我只能替换一个字符。

代码:

#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
4

2 回答 2

12

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

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

这会将'/'您的字符串中的所有内容替换为'-'.

于 2013-10-16T12:34:46.493 回答
-1

看来您必须手动更换

for (int i=0; i < str.length(); i++){
    if (str[i] == '/')
        str[i] = '-';
}
于 2013-10-16T12:38:26.623 回答