我有以下字符串(在多行上):
"locationIds": [
"london",
"scotland",
"wales"
],
"bannerIds": [
"red banner",
"blue"
],
"regionIds": [
],
我正试图删除“bannerids”方括号中的所有内容,因此我只剩下一个完整的字符串,如下所示:
"locationIds": [
"london",
"scotland",
"wales"
],
"bannerIds": [
],
"regionIds": [
],
我试过用regex做下面的替换,但是我没有任何运气(我仍然得到原来的横幅)。
string.replaceAll("\"bannerIds\":\[((?s).*[\n\r].*(.*?))\]", "\"bannerIds\": []");
我该怎么做?
注:
字符串顺序可能不同(取决于响应和我们获取数据的顺序)。
bannerid可能并不总是在那里,所以我们需要迎合这种需求
1条答案
按热度按时间brgchamk1#
我不熟悉json。你在使用regex时遇到了问题,我愿意帮助你。你可以试着跟着regex。
细节:
("bannerIds".*?\[)
:组1-捕获"bannerIds": [
[\s\S]+?
:尽可能少地匹配任何空白字符和任何非空白字符(\])
:第2组:捕获]
演示我还尝试在java上运行代码。
结果: