我有这样的字符串:
{"ssid":"TEST", "key_mgmt":"NONE", "priority":"102",}
我尝试删除最后一个属性后的最后一个逗号。
,}
使用:
.replaceAll("(,[[:space:]]*})", "}")
但它引发了以下错误:
Syntax error in regexp pattern near index 15:
(,[[:space:]]*})
我该如何解决?
注意:它是Android SDK中使用的Java。
答案 0 :(得分:1)
这里的诀窍是使用向前看?=
来搜索}
,当找到它时,您现在可以匹配它之前的逗号,
,并替换逗号为空字符串""
java中的一个例子
public static void main(String[] args) {
String l="{\"ssid\":\"TEST\", \"key_mgmt\":\"NONE\", \"priority\":\"102\",}";
String m=",(?=})";
Pattern pat = Pattern.compile(m);
Matcher matcher = pat.matcher(l);
System.out.println(matcher.replaceAll(""));
}
<强>输出强>
{"ssid":"TEST", "key_mgmt":"NONE", "priority":"102"}
答案 1 :(得分:0)