正则表达式 - 用""替换所有空值,除了模式之前

时间:2017-10-26 02:30:55

标签: java regex

我有一个json(格式不太好),其中所有带空值的字段都需要用空字符串替换(""),除非字段名称(或键)包含单词&# 34;日期"或"日期" (或" _Date")。

示例(并非详尽无遗):

"Effective_Date__c":null
"Birthdate":null

如何使用Java Regex执行此操作?

1 个答案:

答案 0 :(得分:0)

首先,我将回应一个真正的JSON解析器更好的想法。

其次,假设它是每行一个作为你的例子,你可以通过使用负面的lookbehind来检查密钥不在' date'之前。将:硬编码为分隔符,替换

(?<!(?:d|D)ate):null

:''

应该得到你所要求的。

这可以通过搜索前面没有:null的{​​{1}}并将其替换为您请求的(d|D)ate空字符串来实现。