爪哇:在数字字符串操作到六位
问题描述:
情况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);
}
}
答
只需使用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
所以你想要做的是在开始时删除0? – TheLostMind
它不只是删除0的开始,而是通过追加前导0来保留它的六位数字,如果数字是1231235,它必须是相同的,如果数字是01123123结果必须是1123123 – djCode