如果我有字符串“hello”并且我想用_替换第二个和第三个字符,我怎么能这样做,只给出子字符串的位置,而不是实际的位置。
答案 0 :(得分:8)
str = str.replace( /^(.)../, '$1__' );
.
匹配除换行符之外的任何字符。
^
表示字符串的开头。
()
捕获第一个.
匹配的字符,以便$1
可以在替换字符串中引用它。
与正则表达式匹配的任何内容都替换为替换字符串'$1__'
,因此字符串开头的前三个字符将匹配并替换为第一个.
加{的匹配项{1}}。
答案 1 :(得分:5)
String.prototype.replaceAt=function(index, character) {
return this.substr(0, index) + character + this.substr(index+character.length);
}
str.replaceAt(1,"_");
str.replaceAt(2,"_");
取自:How do I replace a character at a particular index in JavaScript?