我确实在尝试使用Java进行这项工作,但仍然无法修复。我的帐户范围从15位数到19位数不等。

例1:

String accountNo = "1111101111111100000";
String accountNo1= "11111011111111";


我需要删除所有结尾的零,并比较accountNo = 11111011111111和accountNo1 = 11111011111111是否都相同,然后将其标记为true。

我使用了下面的代码,但对帐户末尾实际包含0的位置没有帮助。有时,我知道AccountNo是否为15位数字,然后检查updateAcc帐户中是否存在所有字符/数字,如果匹配则认为是true?

我主要想做的比较List vs List

String account = "1111101111111100000"; //19 digits
String updatedAcc ="11111011111111";
String value = account.replaceAll("0+$", "");


例2:在这种情况下,我不想删除所有零。最后的零应保持原样。希望您现在得到问题。

String account = "1111101111111000000"; //19 digits
String updatedAcc ="11111011111110";
String value = account.replaceAll("0+$", "");

最佳答案

这不是一个理想的解决方案,但这是我能想到的最好的解决方案:

    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);
        }
    }

关于java - 当AccountNo大于15位或X位时,删除尾随零,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52632970/

10-09 03:43