如何在 JavaScript 中替换特定索引处的字符?

新手上路,请多包涵

我有一个字符串,比如说 Hello world ,我需要替换索引 3 处的字符。如何通过指定索引来替换字符?

var str = "hello world";

我需要类似的东西

str.replaceAt(0,"h");

原文由 Santhosh 发布,翻译遵循 CC BY-SA 3.0 许可协议

阅读 2.3k
2 个回答

在 JavaScript 中,字符串是 不可变 的,这意味着您能做的最好的事情就是使用更改的内容创建一个新字符串并分配变量以指向它。

您需要自己定义 replaceAt() 函数:

 String.prototype.replaceAt = function(index, replacement) {
 return this.substring(0, index) + replacement + this.substring(index + replacement.length);
 }

并像这样使用它:

 var hello = "Hello World";
 alert(hello.replaceAt(2, "!!")); // He!!o World

原文由 Cem Kalyoncu 发布,翻译遵循 CC BY-SA 4.0 许可协议

JavaScript 中没有 replaceAt 函数。您可以使用以下代码在指定位置替换任意字符串中的任意字符:

 function rep() {
    var str = 'Hello World';
    str = setCharAt(str,4,'a');
    alert(str);
}

function setCharAt(str,index,chr) {
    if(index > str.length-1) return str;
    return str.substring(0,index) + chr + str.substring(index+1);
}
 <button onclick="rep();">click</button>

原文由 rahul 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题