[问题] 字串处理格式化输出

楼主: 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