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

var str = "hello world";

我需要这样的东西

str.replaceAt(0,"h");

当前回答

你可以扩展字符串类型来包含inset方法:

String.prototype.append =函数(索引,值){ 返回this.slice(0,index) + value + this.slice(index); }; var s = "新字符串"; 警报(s。追加(4 "完成"));

然后你可以调用函数:

其他回答

谢谢你的回答!

我还稍微调整了它,使它更像数组。拼接方法(并考虑了@Ates的笔记):

spliceString=function(string, index, numToDelete, char) {
      return string.substr(0, index) + char + string.substr(index+numToDelete);
   }

var myString="hello world!";
spliceString(myString,myString.lastIndexOf('l'),2,'mhole'); // "hello wormhole!"

var str = “hello world”; console.log(str); var arr = [...p]; arr[0] = “H”; p = arr.join(“”); console.log(str);

这里的方法很复杂。 我会这样做:

var myString = "this is my string";
myString = myString.replace(myString.charAt(number goes here), "insert replacement here");

这很简单。

我这样做是为了使字符串正确的大小写,也就是说,第一个字母是大写的,其余的都是小写的:

function toProperCase(someString){
    
    return someString.charAt(0).toUpperCase().concat(someString.toLowerCase().substring(1,someString.length));
    
};

首先要做的是确保所有的字符串都是小写的- someString.toLowerCase()

然后它将第一个字符转换为大写字符-someString.charAt(0)。

然后它取剩下的字符串减去第一个字符的子字符串-someString.toLowerCase().substring(1,someString.length))

然后它将两者连接起来并返回新的字符串-someString.charAt(0).toUpperCase().concat(someString.toLowerCase().substring(1,someString.length))

可以为替换字符索引和替换字符添加新的参数,然后形成两个子字符串,替换被索引的字符,然后以大致相同的方式连接。

假设你想用“Z”替换第k个索引(基于0的索引)。 你可以用正则表达式来做这个。

var re = var re = new RegExp("((.){" + K + "})((.){1})")
str.replace(re, "$1A$`");