代码之家  ›  专栏  ›  技术社区  ›  Igor Serebryany

`剥离python中的拆分结果

  •  2
  • Igor Serebryany  · 技术社区  · 16 年前

    我试着做一些很简单的事情:

    line = "name      :    bob"
    k, v = line.lower().split(':')
    k = k.strip()
    v = v.strip()
    

    有没有办法把它组合成一行?我发现自己在编写解析器时会一遍又一遍地写这篇文章,有时这不仅仅涉及两个变量。

    我知道我可以使用regexp,但这很简单,不需要它…

    4 回复  |  直到 16 年前
        1
  •  7
  •   oylenshpeegul    16 年前
    k, v = [x.strip() for x in line.lower().split(':')]
    
        2
  •  1
  •   wilhelmtell    16 年前
    import 're'
    k,v = re.split(r'\s*:\s*', line)
    line = ':'.join((k,v))
    
        3
  •  1
  •   ghostdog74    16 年前
    >>> map(str.strip,line.lower().split(":"))
    ['name', 'bob']
    
        4
  •  -1
  •   Matthew Flaschen    16 年前
    ":".join([k, v])