【问题标题】:JSON Replace Text with variableJSON用变量替换文本
【发布时间】:2018-10-05 19:41:24
【问题描述】:

我有一个 JSON 文件,其中包含日期对象。我想用格式化日期字符串替换它们。有人可以给我一个提示如何以一种简单的方式实现吗?

在 JSON 文件中有如下几行:

"insertedAt": { "$date": "2018-01-31T11:05:39.447Z" },

我想将它们替换为:

"insertedAt": "2018-01-31 11:05:39.447000"

这些文件非常大,所以我想避免将它们加载到 JSON 对象中,并通过正则表达式替换或类似的方法来解决它。不幸的是,我对此并没有真正的经验。

是否可以用自身的函数输出替换某些内容? 我可以选择我想用正则表达式替换的部分:

"insertedAt":{".*"}

我现在可以用 * 的函数替换它吗?在伪代码中会是这样的:

replace("\"insertedAt\":{\".*\"}").with("\"insertedAt\":" + format(*))

还有其他想法吗?

【问题讨论】:

    标签: json regex file variables replace


    【解决方案1】:

    如果你可以在regex engine 中使用lookbehind,那么你可以试试这个来匹配目标字符串

    (?<=insertedAT\": )\{ \"\$date\": (\"[^\"]*\") \},
    

    并将其替换为捕获 group 1\1$1)。 Demo

    或者,如果你不能在你的regex engine 中使用lookbehind,那么你可以试试这个regex

    (?!insertedAT\": )\{ \"\$date\": (\"[^\"]*\") \},
    

    Demo

    【讨论】:

      猜你喜欢
      • 2023-03-26
      • 1970-01-01
      • 2013-04-24
      • 1970-01-01
      • 2017-12-20
      • 2022-12-14
      • 2015-10-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多