我确实在尝试使用Java进行这项工作,但仍然无法解决。我的帐户范围从15位数到19位数。
Ex-1:
String accountNo = "1111101111111100000";
String accountNo1= "11111011111111";
我需要删除所有后缀零,并比较 accountNo = 11111011111111 和 accountNo1 = 11111011111111 是否相同,然后将其标记确实如此。
我使用了下面的代码,但是在“帐户号”末尾实际上包含0的地方没有帮助。有时,我知道AccountNo是否为15位数字,然后检查updateAcc帐户中是否存在所有字符/数字,如果匹配则认为是true?
主要是我想做列表与列表的比较
String account = "1111101111111100000"; //19 digits
String updatedAcc ="11111011111111";
String value = account.replaceAll("0+$", "");
Ex2:在这种情况下,我不想删除所有零。最后的零应保持原样。希望您现在能解决这个问题。
String account = "1111101111111000000"; //19 digits
String updatedAcc ="11111011111110";
String value = account.replaceAll("0+$", "");
答案 0 :(得分:1)
这不是理想的解决方案,但这是我能想到的最好的解决方案:
if (accountNo.length() > 15) {
if (accountNo.substring(16, accountNo.length()).matches("000")) {
accountNo = accountNo.substring(1, 16);
} else if (accountNo.substring(17, accountNo.length()).matches("00")) {
accountNo = accountNo.substring(1, 17);
} else if (accountNo.substring(18, accountNo.length()).matches("0")) {
accountNo = accountNo.substring(1, 18);
}
}