Python 每日一练:等分字符串

2022-08-12 11:16:31 +08:00
 ppj

Python 每日一练 => 等分字符串

import re

# 'F0-B4-29-98-CE-34'
'-'.join(re.findall(r'.{2}', 'F0B42998CE34'))

使用场景:字符串平均切割、MAC 地址切割等操作。

3154 次点击
所在节点    Python
8 条回复
krixaar
2022-08-12 11:39:28 +08:00
from textwrap import wrap

# 'F0-B4-29-98-CE-34'
'-'.join(wrap('F0B42998CE34', 2))
ppj
2022-08-12 11:48:56 +08:00
@krixaar 嗯嗯,多谢哈。
wang9571
2022-08-12 11:50:59 +08:00
'-'.join(s[x:x+2] for x in range(0, len(s), 2))
Geekgogo
2022-08-12 11:52:07 +08:00
@krixaar #1 学到老活到老
piglei
2022-08-12 19:25:09 +08:00
好答案前面有了,我再多贡献一条基于正则的花活。若干年前学自《精通正则表达式》,对于当时的我过于震撼,牢记至今:

>>> s = 'F0B42998CE34'
>>> import re
>>> re.sub(r'(?<=.)(?=(..)+$)', '-', s)
'F0-B4-29-98-CE-34'
l4ever
2022-08-13 19:22:35 +08:00
string='20220202'
# out put-> 2022-02-02
楼下的请解答
elboble
2022-08-13 22:50:18 +08:00
''.join([(str[i]+('-' if i%2 and not (i==1 or i == len(str)-1) else '')) for i in range(len(str))])
brucmao
2022-08-19 16:23:18 +08:00

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/872391

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX