16

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

string = "this is a string";//I need to replace index 0 to 3 whith another string Ex.:"that"
result = "that is a string";

但这必须是动态的。不能替换固定词...需要按范围

我试过了

           result = string.replaceAt(0, 'that');

但这仅替换第一个字符,我想要第一个到第三个

4

3 回答 3

34
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"
于 2012-09-24T15:35:59.903 回答
4
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"
于 2012-09-24T15:28:52.350 回答
0

我在这里做简单的子字符串调用

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

检查一个工作jsfiddle

于 2012-09-24T15:30:49.343 回答