Java 忽略主角的比较
我收到形式为“0000A”、“00000000A”、“0A”的字符串。它们可以有许多前导零,也可以没有前导零。我希望它们计算为相等,忽略前导零。最好的方法是什么Java 忽略主角的比较,java,string-comparison,Java,String Comparison,我收到形式为“0000A”、“00000000A”、“0A”的字符串。它们可以有许多前导零,也可以没有前导零。我希望它们计算为相等,忽略前导零。最好的方法是什么 删除任何前导零 测试其余字符串的相等性 删除任何前导零 测试其余字符串的相等性 要扩展@matt b的建议,您可以 if(text1.replaceAll("^0+","").equals(text2.replaceAll("^0+","")) 要扩展@matt b的建议,您可以 if(text1.replaceAll("^0+","
要扩展@matt b的建议,您可以
if(text1.replaceAll("^0+","").equals(text2.replaceAll("^0+",""))
要扩展@matt b的建议,您可以
if(text1.replaceAll("^0+","").equals(text2.replaceAll("^0+",""))
为了避免正则表达式引擎复制缓冲区,可以使用
regionMatches
检查一个字符串是否是另一个字符串的后缀,然后检查较长字符串的前缀是否都是零
if (a.regionMatches(
Math.max(0, a.length() - b.length()),
b, Math.max(0, b.length() - a.length()),
Math.min(a.length(), b.length())) {
// Check whether the prefix that is not common to both is all zeroes.
}
为了避免正则表达式引擎复制缓冲区,可以使用
regionMatches
检查一个字符串是否是另一个字符串的后缀,然后检查较长字符串的前缀是否都是零
if (a.regionMatches(
Math.max(0, a.length() - b.length()),
b, Math.max(0, b.length() - a.length()),
Math.min(a.length(), b.length())) {
// Check whether the prefix that is not common to both is all zeroes.
}