当AccountNo大于15位或X位时,删除尾随零

时间:2018-10-03 17:52:01

标签: java string

我确实在尝试使用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+$", "");

1 个答案:

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