作者gimmy731031 (yuancheng)
看板java
标题[问题] 正则表达式String左边补0
时间Mon Nov 7 19:47:36 2011
各位先进大家好,小弟想请教在Java String 左边补0用format的正则表达式,
现在假设有一个字串为100100,我想把这个字串补成8个位数一组,也就是00100100,
我只知道可以用String.format("%08d", int ),不知道可不可以不转换直接补零,
因为我看到有一个表达式是这样写的:String.format("%0$8s", String ),
这个表达式可以对String做右边补空白,所以想问一下是不是可以直接补0呢,
try了颇久试不出来,想请教板上先进指点一下,谢谢。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 122.146.83.135
1F:→ gimmy731031:阿 忘了说我不是要用DecimalFormat那种,怕误会先说 11/07 23:19
2F:→ xlk:"00000000".substring(0, 8 - str.length()) + str ? 11/08 06:55
3F:推 tomap41017:楼上的方法真强..真的会忘记可以这样做XD 11/08 19:40
4F:→ gimmy731031:阿 二楼大大方法和写判断<8 补0方法一样,想问format说 11/08 23:22
5F:→ xlk:javadoc有说明format()对String type只有space padding.. 11/09 03:30
6F:→ xlk:你也可以trace jdk source 自己找答案 11/09 03:33
7F:→ gimmy731031:恩恩~谢谢罗~看来这个方法是不行了QQ~ 11/09 22:07