完全重複:Split a string by spaces -- preserving quoted substrings -- in Python分裂參數 - 保引述子 - 在python
我想在一個字符串和返回值作爲用空格分隔的列表,字典或元組。不過,我想不匹配在某種程度上引號之間的空間,即
蘋果橙「香蕉樹」綠色
應該回來的三個項目,「芭蕉樹」是一個整體項目。
如果可能的話,它也應該允許轉義引號。
完全重複:Split a string by spaces -- preserving quoted substrings -- in Python分裂參數 - 保引述子 - 在python
我想在一個字符串和返回值作爲用空格分隔的列表,字典或元組。不過,我想不匹配在某種程度上引號之間的空間,即
蘋果橙「香蕉樹」綠色
應該回來的三個項目,「芭蕉樹」是一個整體項目。
如果可能的話,它也應該允許轉義引號。
def splitstring(string):
"""
>>> string = 'apple orange "banana tree" green'
>>> splitstring(string)
['apple', 'orange', 'green', '"banana tree"']
"""
import re
p = re.compile(r'"[\w ]+"')
quoted_item = p.search(string).group()
newstring = p.sub('', string)
return newstring.split() + [quoted_item]
這個問題聽起來很像解析標籤的輸入,你可以看看Django的標記utils.py實施解決了這樣的問題
更名兩個問題,使之明顯,他們是確切的重複。 – 2009-02-07 22:47:03
問題是,有幾種方法來命名這樣一個問題,可惜我錯過了另一個。 – Teifion 2009-02-08 13:23:24