根据指定的标识符解析字符串

时间:2010-05-11 22:44:02

标签: python string parsing

假设我有以下文字:

input = "one aaa and bbb two bbbb er ... // three cccc"

我想将其解析为一组包含

的变量
criteria = ["one", "two", "three"]
v1,v2,v3 = input.split(criteria)

我知道上面的例子不起作用,但python中有一些实用工具可以让我使用这种方法吗?我知道提前标识符是什么,所以我认为必须有办法做到这一点......

感谢您的帮助, JML

2 个答案:

答案 0 :(得分:1)

不是非常优雅,但它有效:

>>> s
'one aaa two bbbb three cccc'
>>> re.split(r"\s*(?:one|two|three)\s*", s)
['', 'aaa', 'bbbb', 'cccc']

?:使其无法在结果中返回分隔标识符。

答案 1 :(得分:1)

所以,太丑了,但它应该做你需要的:

i1 = iter(input.split())
i2 = iter(input.split())
next(i2)
strdict = dict(zip(i1, i2))
print operator.itemgetter(*criteria)(strdict)