我正在尝试做一些非常简单的事情:
line = "name : bob"
k, v = line.lower().split(':')
k = k.strip()
v = v.strip()
有没有办法将它组合成一行?我发现自己在编写解析器时一遍又一遍地写这个,有时这涉及的不仅仅是两个变量。
我知道我可以使用正则表达式,但这很简单,不需要它......
答案 0 :(得分:7)
k, v = [x.strip() for x in line.lower().split(':')]
答案 1 :(得分:1)
import 're'
k,v = re.split(r'\s*:\s*', line)
line = ':'.join((k,v))
答案 2 :(得分:1)
>>> map(str.strip,line.lower().split(":"))
['name', 'bob']
答案 3 :(得分:-1)
":".join([k, v])