【发布时间】:2019-05-30 17:00:30
【问题描述】:
我的字符串格式如下:
string = 'token1 -token2 +"token 3"'
我想提取tokens和fields如下:
result = [
'token1',
'-token2',
'+token 3'
]
我为此使用了csv 模块,但未能成功获得最后一个令牌为'+"token', '3"'
# for Python 2.x
try: from StringIO import StringIO
# for Python 3.x
except ImportError: from io import StringIO
import csv
f = StringIO('token1 -token2 +"token 3"')
tokens = csv.reader(f, delimiter=' ', doublequote=False, quotechar='"', quoting=csv.QUOTE_NONE)
for t in tokens: print(t)
# > ['token1', '-token2', '+"token', '3"']
【问题讨论】:
-
没有可以使用的准确、正确的格式。您是否可以在源 csv 文件中提供更多详细信息或任何其他模式?
-
+和-是可选的,如果其中有一个或多个空格,则标记将被引用。这是完整的模式。