在特定索引处使用.replace()

时间:2014-05-04 02:29:18

标签: javascript jquery algorithm

是否有一个函数可以在特定索引处替换字符串中的字符串一次?例如:

var string1="my text is my text";
var string2="my";
string1.replaceAt(string2,"your",10);

,结果输出为"我的文字是你的文字",或者:

var string1="my text is my text";
var string2="my";
string1.replaceAt(string2,"your",0);

在这种情况下,结果将是"您的文字是我的文字"。

2 个答案:

答案 0 :(得分:5)

function ReplaceAt(input, search, replace, start, end) {
    return input.slice(0, start)
        + input.slice(start, end).replace(search, replace)
        + input.slice(end);
}

jsfiddle here

PS。修改代码以添加空检查,边界检查等。

答案 1 :(得分:0)

来自"相关问题"吧,这个旧的答案似乎适用于你的情况。替换单个字符(在我引用的问题中)与替换字符串没有太大区别。

How do I replace a character at a particular index in JavaScript?