我有一个脚本,我必须把完整版本的字符串转换成它们的主要部分。例如,我必须将1.2.3.4.5.6.7
转换为1.2
。
目前我正在使用这个:'.'.join(s.split('.', 2)[:-1])
>>> s = '1.2.3.4.5.6.7'
>>> '.'.join(s.split('.', 2)[:-1])
'1.2'
效果很好。但是它非常丑陋,我希望有更好的方法。
编辑:
- 表现是个问题,所以表现糟糕的答案(虽然看起来不错)对我不好。在
'.'.join(s.split('.', 2)[:-1])
也可以是{},同样容易
Tags:
如果预编译regex,那么使用regex并不是一种过度使用。因此
这也将确保您的版本与格式匹配。在
使用
regex
:时间比较:
^{pr2}$基于
re.findall
的解决方案也会很慢,因为它需要对整个字符串进行迭代,而re.search
会在第一个匹配处停止。在另一种方法可以是
'.'.join(s.split('.')[:2])
,但它非常相似。我认为没有其他有效的方法:你必须按点分割,然后只选择前两个元素。在这个解决方案(或者你的,都是一样的)很好。只要避免使用regex,这对这种任务来说太过分了。在
相关问题 更多 >
编程相关推荐