我有一个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");
}
答案 0 :(得分:2)
问题是误用了replace方法,第一个参数是替换开始的索引,第二个是长度,第三个是应该插入的字符串。因此说替换(2,2,“0”)意味着用“0”(一个字符串的一个字符串)替换从索引2开始的两个字符,这就是为什么你的字符消失了。
解决方案正如人们所说,string [index_you_want_to_replace] ='some_char'。