替换字符串中的某些字符

时间:2016-07-24 14:23:00

标签: c++ string

我有一个8个字符的字符串'00001111'我想替换一些特定的索引值。例如,如果我检查stringName[2]=='0'并重新发布它 使用stringName.replace(2,2,"1")然后它会替换,但最后会遗漏一个角色

if (xyz[3]=='0')
{
    xyz.replace(3,3,"1");
}
else
{
    xyz.replace(3, 3, "0");
}

output

1 个答案:

答案 0 :(得分:2)

问题是误用了replace方法,第一个参数是替换开始的索引,第二个是长度,第三个是应该插入的字符串。因此说替换(2,2,“0”)意味着用“0”(一个字符串的一个字符串)替换从索引2开始的两个字符,这就是为什么你的字符消失了。

解决方案正如人们所说,string [index_you_want_to_replace] ='some_char'。