2011-04-13 81 views
0

我收到形式为“0000A”,“00000000A”,“0A”的字符串。他们可以有很多或者没有前导零。我希望他们评估为无视前导零。做这个的最好方式是什么?比较忽略前导字符

回答

1
  1. 删除任何前导零
  2. 测试剩余串
2

要在@马特B的建议扩大的平等,你可以做

if(text1.replaceAll("^0+","").equals(text2.replaceAll("^0+","")) 
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. 
}