求一个正则表达式替换字符串?

发布于 2022-09-12 22:22:51 字数 93 浏览 19 评论 0

举例: “a: { b: null, c: 1, old: [{ d: null, e: 2 }]”
如何把old中字段的null替换为XXX old中会存在多个字段

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

一指流沙 2022-09-19 22:22:51

你这个数据是残缺的,没办法准确判断你想要啥。

  1. 你的数据是一个正常的 js 对象加了引号

    1. 你的数据是安全的
      let o; eval("o = " + data) -> 4
    2. *不安全的 -> 整改数据 -> 1.1 / 2
  2. 你的数据是一个正确的 json 字符串
    let o = JSON.parse(data) -> 4
  3. 你的 old 中结构很简单

    1. 你坚持用正则
      等我明天更新 / 自己解决
    2. 算了吧
      -> 4
  4. 你得到了一个对象 o

    const replace = (o, v, n) => {
        for (let i in o) {
            if (o[i] === v) o[i] = n
            else if (typeof o[i] === "object") replace(o[i], v, n)
        }
    }
    replace(o.path.to.old, null, "XXX")
沉睡月亮 2022-09-19 22:22:51

别用正则了,解析一下。方便不容易出错。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文