gpt4 book ai didi

java - 正则表达式从java中的字符串中删除一些数据?

转载 作者:行者123 更新时间:2023-12-02 05:58:32 25 4
gpt4 key购买 nike

我有一个字符串数据,其中包含一些不需要的文本。我想使用正则表达式从字符串中删除该数据。下面给出了示例数据,我想从中消除关键 meth 及其相应的数据。我为此目的创建的正则表达式是 "meth(S+)([\\},])" 但它不起作用。

我使用以下代码来使用此正则表达式:

json = json.replaceAll("meth(S+)([\\},])","");

下面是 json 中存在的字符串数据:

{
data: [
{
"city": "barcelona",
"Date": "4 Apr 2014",
"Name": "A-B",
"meth": function(){
return_LANG=="en-us"?"A-T": "A-T "
},
"fo": "null",
},
{
"city": "Newyork",
"Date": "4 Apr 2014",
"Name": "B-C",
"meth": function(){
return_LANG=="en-us"?"S-E": "शक्तिपुंजएक्स."
},
"fo": "null",
}
]
}

我得到的结果是相同的字符串,因为我的正则表达式无法在 String 中找到匹配的数据。

请帮助我纠正我的正则表达式。

最佳答案

这应该可以解决问题:

json = json.replaceAll("(?s)meth.*?\\},", "");

说明:

  • (?s) 用于多行正则表达式。点 . 也将匹配换行符(等于标志 DOTALL,请参阅 Pattern#DOTALL )。
  • .*? 以非贪婪方式搜索任意字母,直到找到 },

关于java - 正则表达式从java中的字符串中删除一些数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22860409/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com