是否可以用字符串
替换特定位置的字符我们说有一个字符串:"I am a man"
我想用字符串"wom"
替换7处的字符(无论原始字符是什么)。
最终结果应为:"I am a woman"
答案 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开始的索引。