Regular expression to remove specific patterns

String str=",Name=Tom,Age=23,something=something,roll=1,somethng=55," 

I want to remove all these value pairs from a string whose value is a number.

Now i'm doing something like this

  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); 

Expected Result:

 ",Name=Tom,something=something," 

But now I get

 ",Name=Tom,,something=something," 

Please, help.

+4
source share
1 answer
 result=str.replaceAll(",[^=]*?=[0-9]+", ""); System.out.println(result); 

You can try this.

+5
source

Source: https://habr.com/ru/post/1490330/


All Articles