Java 正则表达式以删除特定模式
我想从值为数字的字符串中删除所有那些键值对 现在我正在做这样的事情Java 正则表达式以删除特定模式,java,regex,Java,Regex,我想从值为数字的字符串中删除所有那些键值对 现在我正在做这样的事情 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()) {
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,"
你可以试试这个。不需要勉强的量词。我会使用正则表达式
“(^ |,)[^,=]+=[0-9]+(?=,|$)”
。它可以防止缺少前导逗号、尾随逗号和值,如”、name=Tom、publicKey=24abf3ced、other=something,“
,您的正则表达式将这些值转换为”、name=Tomabf3ced、other=something,“
result=str.replaceAll(",[^=]*?=[0-9]+", "");
System.out.println(result);