我有一个字符串,比如Hello world我需要替换索引3处的char。如何通过指定索引替换字符?
var str = "hello world";
我需要这样的东西
str.replaceAt(0,"h");
我有一个字符串,比如Hello world我需要替换索引3处的char。如何通过指定索引替换字符?
var str = "hello world";
我需要这样的东西
str.replaceAt(0,"h");
当前回答
我做了一个类似于你问的函数,它检查字符串中的字符是否在不允许字符数组中如果是它就用"
var validate = function(value){
var notAllowed = [";","_",">","<","'","%","$","&","/","|",":","=","*"];
for(var i=0; i<value.length; i++){
if(notAllowed.indexOf(value.charAt(i)) > -1){
value = value.replace(value.charAt(i), "");
value = validate(value);
}
}
return value;
}
其他回答
"hello world".replace(/(.{3})./, "$1h")
// 'helho world'
这类似于Array.splice:
String.prototype.splice = function (i, j, str) {
return this.substr(0, i) + str + this.substr(j, this.length);
};
JavaScript中没有replacat函数。你可以使用下面的代码替换任意字符串中指定位置的任意字符:
函数 rep() { var str = 'Hello World'; str = setCharAt(str,4,'a'); 警报; } 函数集CharAt(str,index,chr) { if(索引 > str.length-1) 返回 str; 返回 str.substring(0,index) + chr + str.substring(index+1); } <button onclick=“rep();”>click</button>
概括Afanasii Kurakin的回答,我们有:
函数替换(str, index, ch) { 返回str.replace(/。/g, (c, i) => i == index ?Ch: c); } let str = 'Hello World'; str = replacat (str, 1, 'u'); console.log (str);// hello World
让我们展开并解释正则表达式和replace函数:
函数replace (str, index, newChar) { 函数替换符(origChar, strIndex) { if (strIndex === index) 返回newChar; 其他的 返回origChar; } 返回str.replace(/。/ g,替代者); } let str = 'Hello World'; str = replacat (str, 1, 'u'); console.log (str);// hello World
正则表达式。恰好匹配一个字符。g使它匹配for循环中的每个字符。给定原始字符和该字符在字符串中位置的下标,将调用replacement函数。我们用一个简单的if语句来决定返回的是origChar还是newChar。
我这样做是为了使字符串正确的大小写,也就是说,第一个字母是大写的,其余的都是小写的:
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))
可以为替换字符索引和替换字符添加新的参数,然后形成两个子字符串,替换被索引的字符,然后以大致相同的方式连接。