如何用特定索引的引用替换字符串的所有字符。
我有一个像
这样的字符串var str = "A1 B1C2"
现在我想检查第一个索引中的字符是什么
var charAtFirst = str.charAt(1);
所以我得到了1。
现在我想要替换所有具有价值的角色1.如何做到这一点。谢谢你的帮助。
答案 0 :(得分:2)
在创建时使用字符串生成RegExp
,您需要转义字符串中的特殊含义字符。生成RegExp
使用String#replace
方法后。
var str = "A1 B1C2";
var charAtFirst = str.charAt(1);
console.log(
str.replace(new RegExp(charAtFirst.replace(/[|\\{}()[\]^$+*?.]/, '\\$&'), 'g'), '')
);
更新1:如果您要删除大于特定数字的数字,请获取所有数字并通过与数字进行比较来替换。您可以将String#replace
方法与回调函数一起使用。
var str = "A1 B1C2";
var charAtFirst = +str.charAt(1);
console.log(
str.replace(/\d+/g, function(m) {
return +m > charAtFirst ? '' : m;
})
);
更新2: 如果你想增加角色,那就像。
var str = "A1 B1C2";
var charAtFirst = str.charAt(1);
console.log(
str.replace(new RegExp(charAtFirst.replace(/[|\\{}()[\]^$+*?.]/, '\\$&'), 'g'), (+charAtFirst) + 1)
);
答案 1 :(得分:1)
简单使用此
var NewStr = str.replace(/1/g, "2");