[問題] 字串處理格式化輸出

作者: slv922 (詹姆士)   2016-04-16 04:25:57
假設有一字串是 003045134011
要怎麼讓他變成 3.45.134.11 輸出 ?
在 Perl 有看到 下面這種寫法:
$str = join '.', map {int $_} @{[split /(\d{3})/, $str]}[1,3,5,7];
有點像是IP的格式,每三位一組去掉0,用 "." 分隔
希望有最快速的方法一行程式碼解決
謝謝!
作者: IKAFIRE (沒有)   2016-04-16 05:52:00
'.'.join([s.lstrip('0') for s in textwrap.wrap(x,3)])
作者: penguin7272 (企鵝)   2016-04-16 05:58:00
如果要讓 000 變成 0 可以用 str(int(s))
作者: tiefblau (tiefblau)   2016-04-16 13:04:00
連範例都給錯= = 字串長度一定是三的倍數嗎 會不會有101.1.1.1 這種0在中間的情況?
作者: slv922 (詹姆士)   2016-04-16 14:28:00
謝謝!已修正會有,剛試了I大的方法沒問題喔!感謝I大!
作者: IKAFIRE (沒有)   2016-04-16 15:23:00
最好把lstrip改成二樓的做法,要不然000會變空字串

Links booklink

Contact Us: admin [ a t ] ucptt.com