如何用特定索引引用替换字符串的所有字符

时间:2016-11-08 05:51:07

标签: javascript

如何用特定索引的引用替换字符串的所有字符。

我有一个像

这样的字符串
var str = "A1 B1C2"

现在我想检查第一个索引中的字符是什么

var charAtFirst = str.charAt(1);

所以我得到了1。

现在我想要替换所有具有价值的角色1.如何做到这一点。谢谢你的帮助。

2 个答案:

答案 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");