替换像replaceAll这样的字符(字符串,开头,结尾,'_',' - ')

时间:2012-06-04 07:12:37

标签: c++ stl replace

我想用text=s_o_m_e=text

替换字符串text=s-o-m-e=text

我有一个开始和结束索引:

std::string str("text=s_o_m_e=text");

std::string::size_type start = str.find("text="), end;

if (start != std::string::npos) {
    end = str.find("=", start);

    if (end != std::string::npos) {
        //...
    }
}

所以,我正在寻找这样的功能:

replaceAll(string, start, end, '_', '-');

UP:

std::replace(str.begin() + start, str.begin() + end, '_', '-');

谢谢,Blastfurnace

2 个答案:

答案 0 :(得分:10)

<algorithm>中有一个功能。

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

答案 1 :(得分:5)

使用std::replaceHere是更多详情。