TIDDLWIKI使用internally一个空间分隔标签来制作标签列表。但它使用[[]]来限制多单词标记。
也就是说,fooram doobarvery cool的列表变成了TIDDLWiKi这样的字符串:

"foo [[ram doo]] bar [[very cool]]"

我如何将其转换为如下所示的python列表:
['foo', 'ram doo', 'bar', 'very cool']

"foo [[ram doo]] bar".split()对我不起作用。

最佳答案

使用正则表达式:

import re
a = "foo [[ram doo]] bar [[very cool]] something else"
pattern = re.compile(r'\[\[[^\]]+\]\]|[^\[\] ]+')
print([i.strip(' []') for i in pattern.findall(a)])

印刷品['foo', 'ram doo', 'bar', 'very cool', 'something', 'else']
regex基本上是“标记”字符串(按顺序,边框是[[..]]或空格),然后列表理解从标记中删除括号。

08-20 02:36