javascript - 替换字符串中的所有字符,但数组中存在的字符除外

标签 javascript

我想用 * 替换字符串中的所有字符,除了数组中存在的字符。 .

let myArr = ['a', 'f', 'g'];
string.replace(all characters except the ones existing in myArr, '*');

使用普通的javascript可以做到这一点吗?

如果不是变量呢?
let myLetter = 'b';
string,replace(all characters except myLetter, '*');

最佳答案

您可以创建一个正则表达式并从替换中排除给定的字符。

var letters = ['a', 'f', 'g'],
    string = 'abcdefghi',
    result = string.replace(new RegExp(`[^${letters.join('')}]`, 'g'), '*');

console.log(result);

关于javascript - 替换字符串中的所有字符,但数组中存在的字符除外,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58439299/

相关文章:

javascript - AngularJS 变量不会立即反射(reflect)在 View 上,而是更新在 Controller 上

javascript - Google 文档查看器显示空格

javascript - 对象解构抛出错误

javascript - 如何分别设置占位符样式和输入文本数据方向?其中一个 RTL 另一个 LTR

javascript - Chrome 扩展程序 '$ is not defined'

javascript - 使用 jquery 在表中生成文本框

javascript - 使用 SVG 矩形单击处理程序更改 react 状态

javascript - 模块化gulp/node.js,调用模块变量

javascript - 如何实时显示 Javascript 输出?

javascript - 用于配置应用程序的 node.js 命令行脚本