我有一个数据库字段中的字符串,就像这样我带入了一个可变的单词:
['spaceship', 'cars', 'boats', "'subway", "train'", 'rocket', 'bicycle', "'18", "wheeler'"]
如果我对字符串进行拆分:
['spaceship', 'cars', 'boats', "'subway train'", 'rocket', 'bicycle', "'18 wheeler'"]
我得到的结果如下:
from __future__ import print_function
我想要的是将它分成带有引号的单词的列表,所以列表看起来像这样:
from __future__ import formatted_string_literals
有没有办法在python
中以这种方式处理它答案 0 :(得分:2)
您也可以使用shlex
模块:
>>> x
'spaceship cars boats "subway train" rocket bicycle "18 wheeler"'
>>> import shlex
>>> shlex.split(x)
['spaceship', 'cars', 'boats', 'subway train', 'rocket', 'bicycle', '18 wheeler']
另一种解决方案是以这种形式使用regex
:
import re
re.split(your_regular_exp, x)
但这并不像shlex那么简单,但在其他情况下可能证明是有用的!
答案 1 :(得分:1)
我认为CSV可能是你的朋友。
import csv
row = 'spaceship cars boats "subway train" rocket bicycle "18 wheeler"'
reader = csv.reader([row], delimiter=' ')
words = next(reader)