2016-11-27 64 views
0

我有一個數據庫字段,多數民衆贊成這樣的字符串我帶進一個varible話:與串周圍引號單獨字符串,而不在Python

spaceship cars boats "subway train" rocket bicycle "18 wheeler" 

,如果我做一個分裂的字符串與此:

words = string.split() 

我得到的結果是這樣的:

['spaceship', 'cars', 'boats', "'subway", "train'", 'rocket', 'bicycle', "'18", "wheeler'"] 

我想的是將其分割到一個列表在圓通引用的話所以列表看起來像這樣:

['spaceship', 'cars', 'boats', "'subway train'", 'rocket', 'bicycle', "'18 wheeler'"] 

有這個這樣的方式TTO工藝在python

回答

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

我覺得CSV可能是在這裏你的朋友。

import csv 
row = 'spaceship cars boats "subway train" rocket bicycle "18 wheeler"' 
reader = csv.reader([row], delimiter=' ') 
words = next(reader) 
相關問題