【问题标题】:How to remove particular String from text file using java如何使用java从文本文件中删除特定字符串
【发布时间】:2015-07-13 08:00:09
【问题描述】:

我有一个包含 json 数据的文本文件,我不需要某些数据字段。如何删除这些字符串并将它们带到另一个表单?

当前数据:

[{"EMPTYPE":"21","EMPSUM":"1","VERSION":2.2,"UID":212121,"EMPID":454354,"EMPNAME":"abc","EMPGPRID":123,"AID":121,"DATE":"2015-07-07","EMPGPRID":21}]

所需数据:

[{"EMPTYPE":"21","EMPID":454354,"EMPNAME":"abc","EMPGPRID":123}]

解析器或分隔符

【问题讨论】:

标签: java regex json file


【解决方案1】:
"(?!EMP(?:TYPE|ID|NAME|GPRID)")[^"]*":.*?(?:,|(?=}))

试试这个。替换为empty string。查看演示。

https://regex101.com/r/hR7tH4/18

【讨论】:

  • 结果是[{"EMPTYPE":"21","EMPID":454354,"EMPNAME":"abc","EMPGPRID":123,"EMPGPRID":21}]。必需:[{"EMPTYPE":"21","EMPID":454354,"EMPNAME":"abc","EMPGPRID":123}]。除非 OP 犯了一个错误……
  • ⚠ 假设有一个,"AID":121}] at the end ?
  • 但是怎么写replace方法,我报错了;
  • @Rakesh 使用 "\"(?!EMP(?:TYPE|ID|NAME|GPRID)\")[^\"]*\":.*?(?:,|(?=}))"replaceAll()
  • 知道了;但仍然是,仍然
【解决方案2】:

您应该查看 Jackson 以进行 json 解析(它将采用 json 字符串并使其更像常规 Java 对象)。它还有一个很好的删除方法,你可以使用(如果你知道你不想要什么),或者你可以简单地用你喜欢的信息创建一个新对象。然后很容易将其序列化回 json。

【讨论】:

  • 我想用正则表达式解析它怎么做
猜你喜欢
  • 2013-08-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-20
  • 2020-10-13
  • 2022-01-19
相关资源
最近更新 更多