看板 Python 關於我們 聯絡資訊
假設有一字串是 003045134011 要怎麼讓他變成 3.45.134.11 輸出 ? 在 Perl 有看到 下面這種寫法: $str = join '.', map {int $_} @{[split /(\d{3})/, $str]}[1,3,5,7]; 有點像是IP的格式,每三位一組去掉0,用 "." 分隔 希望有最快速的方法一行程式碼解決 謝謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.194.28.177 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1460751959.A.D9D.html ※ 編輯: slv922 (123.194.28.177), 04/16/2016 04:27:48 ※ 編輯: slv922 (123.194.28.177), 04/16/2016 04:28:58
IKAFIRE: '.'.join([s.lstrip('0') for s in textwrap.wrap(x,3)]) 04/16 05:52
penguin7272: 如果要讓 000 變成 0 可以用 str(int(s)) 04/16 05:58
tiefblau: 連範例都給錯= = 字串長度一定是三的倍數嗎 會不會有 04/16 13:04
tiefblau: 101.1.1.1 這種0在中間的情況? 04/16 13:04
※ 編輯: slv922 (123.194.28.177), 04/16/2016 14:28:38
slv922: 謝謝!已修正 04/16 14:28
slv922: 會有,剛試了I大的方法沒問題喔!感謝I大! 04/16 14:33
IKAFIRE: 最好把lstrip改成二樓的做法,要不然000會變空字串 04/16 15:23