我收到“0000A”,“00000000A”,“0A”形式的字符串。它们可以有很多或没有前导零。我希望他们评价为无效,忽略前导零。这样做的最佳方式是什么?
答案 0 :(得分:2)
要扩展@matt b的建议,你可以
if(text1.replaceAll("^0+","").equals(text2.replaceAll("^0+",""))
答案 1 :(得分:1)
答案 2 :(得分: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.
}