/* package whatever; // don't place package name! */
import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
import java.lang.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone {
final static String pattern1head
= "blablabla."; final static String pattern2head
= "yada yada.";
String v1
= "blablabla.123.456"; String v2
= "yada yada.123.456"; String v3
= "yada yada.456.123"; String v4
= "yada yada.123.456789";
checkEquality(v1,v2);
checkEquality(v1,v3);
checkEquality(v1,v4);
checkEquality(v2,v3);
checkEquality(v2,v4);
}
private static Set
<String
> extractVars
(String v
){ if (v.startsWith(pattern1head)) { v = v.replace(pattern1head,""); }
else if (v.startsWith(pattern2head)) { v = v.replace(pattern2head,""); }
else { return null; }
return new HashSet
<String
>(Arrays.
asList(v.
split("\\."))); }
private static void checkEquality
(String value1,
String value2
) { System.
out.
println("\n" + value1
+ " == " + value2
+ " ? " + extractVars(value1).equals(extractVars(value2)));
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC5BcnJheXM7CmltcG9ydCBqYXZhLnV0aWwuSGFzaFNldDsKaW1wb3J0IGphdmEudXRpbC5TZXQ7CmltcG9ydCBqYXZhLmxhbmcuKjsKCi8qIE5hbWUgb2YgdGhlIGNsYXNzIGhhcyB0byBiZSAiTWFpbiIgb25seSBpZiB0aGUgY2xhc3MgaXMgcHVibGljLiAqLwpjbGFzcyBJZGVvbmUgewoJZmluYWwgc3RhdGljIFN0cmluZyBwYXR0ZXJuMWhlYWQgPSAiYmxhYmxhYmxhLiI7CglmaW5hbCBzdGF0aWMgU3RyaW5nIHBhdHRlcm4yaGVhZCA9ICJ5YWRhIHlhZGEuIjsKCglwdWJsaWMgc3RhdGljIHZvaWQgbWFpbiAoU3RyaW5nW10gYXJncykgdGhyb3dzIGphdmEubGFuZy5FeGNlcHRpb24gewoJCVN0cmluZyB2MSA9ICJibGFibGFibGEuMTIzLjQ1NiI7CgkJU3RyaW5nIHYyID0gInlhZGEgeWFkYS4xMjMuNDU2IjsKCQlTdHJpbmcgdjMgPSAieWFkYSB5YWRhLjQ1Ni4xMjMiOwoJCVN0cmluZyB2NCA9ICJ5YWRhIHlhZGEuMTIzLjQ1Njc4OSI7CgoJCWNoZWNrRXF1YWxpdHkodjEsdjIpOwoJCWNoZWNrRXF1YWxpdHkodjEsdjMpOwoJCWNoZWNrRXF1YWxpdHkodjEsdjQpOwoJCWNoZWNrRXF1YWxpdHkodjIsdjMpOwoJCWNoZWNrRXF1YWxpdHkodjIsdjQpOwoJfQoJCglwcml2YXRlIHN0YXRpYyBTZXQ8U3RyaW5nPiBleHRyYWN0VmFycyhTdHJpbmcgdil7CgkJaWYgICAgICAodi5zdGFydHNXaXRoKHBhdHRlcm4xaGVhZCkpIHsgdiA9IHYucmVwbGFjZShwYXR0ZXJuMWhlYWQsIiIpOyB9CgkJZWxzZSBpZiAodi5zdGFydHNXaXRoKHBhdHRlcm4yaGVhZCkpIHsgdiA9IHYucmVwbGFjZShwYXR0ZXJuMmhlYWQsIiIpOyB9CgkJZWxzZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgcmV0dXJuIG51bGw7IH0JCQkKCQkKCQlyZXR1cm4gbmV3IEhhc2hTZXQ8U3RyaW5nPihBcnJheXMuYXNMaXN0KHYuc3BsaXQoIlxcLiIpKSk7Cgl9CgkKCXByaXZhdGUgc3RhdGljIHZvaWQgY2hlY2tFcXVhbGl0eShTdHJpbmcgdmFsdWUxLCBTdHJpbmcgdmFsdWUyKSB7CgkJU3lzdGVtLm91dC5wcmludGxuKCJcbiIgKyB2YWx1ZTEgKyAiID09ICIgKyB2YWx1ZTIgKyAiID8gIiAKCQkJCSsgZXh0cmFjdFZhcnModmFsdWUxKS5lcXVhbHMoZXh0cmFjdFZhcnModmFsdWUyKSkpOwkKCX0gCn0=