案例1如果数字是123结果:000123
情况2如果编号为00123123结果:123123
情况3如果数字是10231239结果:10231239
案例4如果编号为01231239结果: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)
这个适用于你(else部分的代码)。只要后面有6位数字,就删除前导零。
public static void main(String[] args) {
String s = "0023123";
System.out.println(s.replaceAll("^0+(?=\\d{6})", ""));
}
O / P
023123
示例输入:00000110023123
样本输出:110023123
答案 1 :(得分:0)
只需使用Apache Common Lang库:
String str = "1123456";
str = StringUtils.leftPad(StringUtils.stripStart(str, "0"), 6, "0");
我认为这更具可读性。