求正则表达式,不满8位的,前面舔零,高分谢谢~~~~

来源:百度知道 编辑:UC知道 时间:2024/06/03 09:10:00
那这个问天有什么解决方法吗,只能用循环?

如果你要格式化的数据是 int类,或long类型,有如下方法:

java.text.DecimalFormat formatter = new java.text.DecimalFormat("00000000");
out=formatter.format(123);
System.out.println(out);

//输出: 00000123

int i = 123;
String out2 = String.format("%08d", i);
System.out.println(out2);
//也输出: 00000123

正则表达式只是用来查找或替换。

只能判断长度比8少几就循环加几个“0”。 如果想用循环的话就分别定义7个 1-7 个“0” 的字符串,如果长度少几就拼上相应的字符串。

其实循环还是最方便的,循环的时候最好先定义一个 StringBuffer 一个一个的加上去, 会比 0 += Str;占用资源少些。

转换成字符串
然后判断这个字符串的长度
然后在前面加上 8-该字符串的长度个0 不就可以了吗!
正则表达式的是不能实现你说的功能的!

正则只能判断是不是有8位吧。

正则表达式还有这样的功能,我就不信了