是否可以用字符串替换特定位置的字符
假设有一个字符串:"I am a man"
我想用字符串替换 7 处的字符"wom"
(不管原始字符是什么)。
最终结果应该是:"I am a woman"
是否可以用字符串替换特定位置的字符
假设有一个字符串:"I am a man"
我想用字符串替换 7 处的字符"wom"
(不管原始字符是什么)。
最终结果应该是:"I am a woman"
字符串在 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
或者你可以这样做,使用数组函数。
var a='I am a man'.split('');
a.splice.apply(a,[7,1].concat('wom'.split('')));
console.log(a.join(''));//<-- I am a woman
string.replace()
Javascript中
有一个方法: https ://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/replace
PS
顺便说一句,在你的第一个例子中,你所说的“m”的索引是7。Javascript使用从0开始的索引。