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