爪哇:在数字字符串操作到六位

爪哇:在数字字符串操作到六位

问题描述:

情况1,如果数量为123的结果:00 情况2如果号码是0结果:123123
壳体3如果号码10231239结果:10231239
壳体4如果数量是结果:1231239爪哇:在数字字符串操作到六位

我曾尝试为波纹管但需要为这个

public static void main(String[] args) 
{ 
    String number = "0023213"; 
    number = number.trim(); 
    String result; 
    if(number.length() < 6) 
    { 
     result = String.format("%06d", Integer.parseInt(number)); 
     System.out.println(result); 
    } 
    else if (number.trim().length()>6) 
    { 
     result = number.replaceFirst("^0+(?!$)", ""); 
     result = String.format("%06d", Integer.parseInt(result)); 
     System.out.println(result); 
    } 
} 
+0

所以你想要做的是在开始时删除0? – TheLostMind

+0

它不只是删除0的开始,而是通过追加前导0来保留它的六位数字,如果数字是1231235,它必须是相同的,如果数字是01123123结果必须是1123123 – djCode

只需使用Apache常见Lang库:

String str = "1123456"; 
str = StringUtils.leftPad(StringUtils.stripStart(str, "0"), 6, "0"); 

我觉得这是更具可读性。

(对于其他部分的代码),较好地解决这一个会为你工作。只要后面有6位数字,就会删除前导零。

public static void main(String[] args) { 
    String s = "0023123"; 
    System.out.println(s.replaceAll("^0+(?=\\d{6})", "")); 
} 

O/P

023123 

样品输入:00000110023123

示例输出:110023123