我有一个脚本,我必须在其中将完整版本的字符串转换为它们的主要部分。例如,我必须将 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]) 也可以是 '.'.join(s.split('.', 2)[:2]) 就像
  • 最佳答案

    如果您预编译正则表达式,使用正则表达式并不是一种矫枉过正。因此

    import re
    pattern = re.compile(r'^[0-9]+\.[0-9]+')
    
    # ... later ...
    
    version = '1.2.3.4.5.6.7'
    
    def get_version(s):
        m = pattern.search(s)
        if m:
            return m.group()
    
    
    print get_version(version)
    

    这也将确保您的版本与格式匹配。

    关于python - 从完整版本字符串中获取主要版本的子字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18299811/

    10-11 19:36
    查看更多