Javascript 如何按范围替换字符串?

Javascript 如何按范围替换字符串?,javascript,string,replace,Javascript,String,Replace,我需要按范围替换字符串 例如: 但这必须是友好的。不能替换固定单词…需要按范围 我试过了 result = string.replaceAt(0, 'that'); 但这只替换第一个字符,我想要第一到第三个字符 var str = "this is a string"; var newString = str.substr(3,str.length); var result = 'that'+newString substr返回字符串的一部分,在我的示例中,它从字符3开

我需要按范围替换字符串 例如:

但这必须是友好的。不能替换固定单词…需要按范围

我试过了

           result = string.replaceAt(0, 'that');
但这只替换第一个字符,我想要第一到第三个字符

var str = "this is a string";
var newString = str.substr(3,str.length);
var result = 'that'+newString
substr返回字符串的一部分,在我的示例中,它从字符3开始,一直到str.length,最后一个字符

要替换字符串的中间部分,可以使用相同的逻辑

var str = "this is a string";
var firstPart = str.substr(0,7); // "this is "
var lastPart = str.substr(8,str.length); // " string"
var result = firstPart+'another'+lastPart; // "this is another string"
我打个简单的电话就可以了

var str = "this is a string";
var result = "that" + str.substring(4);

查看一个工作表。

您尝试过什么?你看过for string方法了吗?也许应该指出,字符串在javascript中是不可变的,所以你不会用不同的开头替换它,而是创建一个新的字符串。是的,如果我想从第一个字符开始,这是正确的,但是如果我想从第三个字符开始,例如?@DevMobile,我不知道你的意思
str.substring(4)
将返回从第四个索引到结尾的字符串中的所有字符。我需要用其他值替换第四、第五、第六个字符ex.:“12345678”需要返回“123otherString78”
var str = "this is a string";
var result = "that" + str.substring(4);
function replaceRange(s, start, end, substitute) {
    return s.substring(0, start) + substitute + s.substring(end);
}

var str = "this is a string";
var newString = replaceRange(str, 0, 4, "that"); // "that is a string"