首页 > 解决方案 > 如何用正则表达式替换字符串

问题描述

我想从以下位置替换一个 json 字符串:

[{"id":151,"name":"me"}, {"id":4567432,"name":"you"}]

至:

[{"id":"151","name":"me"}, {"id":"4567432","name":"you"}]

如您所见,我只想在 id 的值(某个数字)中添加括号。

我试过了:

json = json.replaceAll("\"id\",([0-9]+)", "\"id\",\"$1\"");

但它不起作用。我该怎么做?

标签: androidjsonregex

解决方案


您使用逗号作为键值分隔符,但在示例字符串中,您有一个冒号。

如果您使用,您可以修复 replaceAll 方法

replaceAll("(\"id\":)([0-9]+)", "$1\"$2\"")

请参阅在线正则表达式演示

详情

  • (\"id\":)- 第 1 组 ( $1):"id":字符串
  • ([0-9]+)- 第 2 组 ( $2):一位或多位数字

推荐阅读