gpt4 book ai didi

Java字符串查找并每次为一个键替换不同的值

转载 作者:行者123 更新时间:2023-12-01 20:21:21 24 4
gpt4 key购买 nike

我在替换字符串中的某些值时遇到麻烦。

{"key1":"value1","key2":"value2","key3":"value3","key4":"djdhsja","BizProcessNm":"value5",.........}

我必须将 key4 的值替换为“something”。如下图

{"key1":"value1","key2":"value2","key3":"value3","key4":"something","BizProcessNm":"value5",.........}

问题是我不知道 key4 的值中的确切值。在本例中,值是“djdhsja”。这将是随机的。

我想获取字符串中key4的位置,然后根据字符串位置,替换第一个“之后的内容,直到它以“something”结尾。但这可能有点复杂,因为我必须这样做for循环里面有这么多字符串(这个循环是别人写的,我只是修改一下)。

是否有像 Linux 中的 sed 那样的正则表达式类型的查找和替换。

编辑:key4的位置是随机的

最佳答案

假设 key、冒号和 value 之间没有空格,并且 key4 当前值中也没有引号,您可以使用以下代码行来替换该值:

s.replaceFirst("(?<=\\\"key4\\\":\\\")(.*?)(?=\\\")", "new value");

正则表达式使用正向向后查找和向前查找,以便仅替换值引号内的文本。

虽然这可能适用于一次性操作,但我宁愿建议按照评论和 Marcell 的回答中的建议使用 JSON 解析器。

关于Java字符串查找并每次为一个键替换不同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44626724/

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