我有两个类似地图的java字符串。
String msg = "{Name:\"Mouse\",abc:\"123\",c:0,trash:\"12345\"}"
string msg2 ="{Name:\"Mouse\",abc:\"123\",c:0,trash:\"10005\"}"
我必须使用Java正则表达式来比较这两个字符串,如果两者都相同,则返回true,除了垃圾键的值。显然在上面的两个字符串中,比较它们会返回false,因为垃圾值不同。如何在没有类型转换的情况下完成正则表达式?
请指出正确的方向。提前致谢
答案 0 :(得分:2)
您可以在比较之前删除两个字符串中的垃圾条目,例如
String p = ",trash:\".*\"";
boolean res = msg.replaceAll(p, "").equals(msg2.replaceAll(p, ""));