[問題] 正則表達式String左邊補0

看板java作者 (yuancheng)時間14年前 (2011/11/07 19:47), 編輯推噓1(106)
留言7則, 3人參與, 最新討論串1/1
各位先進大家好,小弟想請教在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

11/07 23:19, , 1F
阿 忘了說我不是要用DecimalFormat那種,怕誤會先說
11/07 23:19, 1F

11/08 06:55, , 2F
"00000000".substring(0, 8 - str.length()) + str ?
11/08 06:55, 2F

11/08 19:40, , 3F
樓上的方法真強..真的會忘記可以這樣做XD
11/08 19:40, 3F

11/08 23:22, , 4F
阿 二樓大大方法和寫判斷<8 補0方法一樣,想問format說
11/08 23:22, 4F

11/09 03:30, , 5F
javadoc有說明format()對String type只有space padding..
11/09 03:30, 5F

11/09 03:33, , 6F
你也可以trace jdk source 自己找答案
11/09 03:33, 6F

11/09 22:07, , 7F
恩恩~謝謝囉~看來這個方法是不行了QQ~
11/09 22:07, 7F
文章代碼(AID): #1EjyLQEz (java)