4
String str=",Name=Tom,Age=23,something=something,roll=1,somethng=55,"
我想从字符串中删除所有这些键值对,其值是一个数字。正则表达式去除特定模式
我现在做这样的事情
Pattern p = Pattern.compile(",[^=]*?=([^,]*),");
Matcher m = p.matcher(str);
String result = "";
while (m.find()) {
if (!isNumeric(m.group(1))) {
result += m.group(0);
}
}
System.out.println(result);
预期的输出是
",Name=Tom,something=something,"
但现在我越来越
",Name=Tom,,something=something,"
请帮助。
不需要不情愿的量词。 –
@Njay:它的功能就像一个魅力。谢谢sooooo much:D:D –
我会用正则表达式'“(^ |,)[^,=] + = [0-9] +(?=,| $)”'。它可以防止缺少前导逗号,缺少逗号以及诸如'“,name = Tom,publicKey = 24abf3ced,other = something,”的值,“,正则表达式会将它变为'”,name = Tomabf3ced,other = something “' – FrankieTheKneeMan