用Javascript,Jquery中的字符串替换特定索引处的字符

时间:2012-05-28 12:25:41

标签: javascript jquery actionscript

是否可以用字符串

替换特定位置的字符

我们说有一个字符串:"I am a man"

我想用字符串"wom"替换7处的字符(无论原始字符是什么)。

最终结果应为:"I am a woman"

3 个答案:

答案 0 :(得分:18)

Javascript中的字符串不可变 - 您无法“就地”修改它们。

您需要剪切原始字符串,并返回由所有部分组成的新字符串:

// replace the 'n'th character of 's' with 't'
function replaceAt(s, n, t) {
    return s.substring(0, n) + t + s.substring(n + 1);
}

注意:我没有将此添加到String.prototype,因为在某些浏览器中,如果向prototype内置类型添加函数,性能会非常差。

答案 1 :(得分:1)

或者你可以这样做,使用数组函数。

var a='I am a man'.split('');
a.splice.apply(a,[7,1].concat('wom'.split('')));
console.log(a.join(''));//<-- I am a woman

答案 2 :(得分:-1)

Javascript中有string.replace()方法: https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/replace

P.S。
顺便说一下,在你的第一个例子中,&#34; m&#34;你说的是7.Javascript使用从0开始的索引。