Моя строка имеет следующий формат:
string = 'token1 -token2 +"token 3"'
Я хочу извлечь токены и поля следующим образом:
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"']