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

标签 javascript

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

我有一个像

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

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

var charAtFirst = str.charAt(1);

所以我得到了 1。

现在我想替换所有值为 1 的字符。如何做到这一点。感谢您的帮助。

最佳答案

使用字符串生成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)
);

关于javascript - 如何用特定索引的引用替换字符串的所有字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40479883/

相关文章:

javascript - 如何将ajax查询返回的数据显示在下拉列表中?

javascript - PHP 下拉菜单(如果选择了值)

javascript - [].__proto__ === Array.prototype//=== [Symbol(Symbol.unscopables) : Object]?

javascript - 循环遍历 JSON 以按键对值进行分组

javascript - 将旋转从 360 度重置为 0 度时如何避免逆时针旋转动画?

javascript - 使用父键创建 map 并过滤对象中的数据将其推送到 map - Javascript

javascript - 通过socket.io 获取数据。设置: token; error: invalid credentials

java - 将带有 html/Javascript 的字符串放入 selenium webdriver

javascript - react 原生 + react 原生路由器通量 : Why is background color white during transition?

javascript - JS - 计时器运行缓慢