我遇到了以下python腳本的問題,該腳本從公司內部Web應用程序文本區域中的文本中提取一些選項。正則表達式匹配逗號或換行符,但不是兩個
import re
text = 'option one\noption two, option three, option four'
correct = 'option one, option two, option three, option four'
pattern = re.compile('(\s*[,]\s*)')
fixed = pattern.sub(', ', text)
print fixed
option one
option two, option three, option four
print fixed.split(', ')
['option one\noption two', 'option three', 'option four']
這顯然不能分裂「選項一個\ noption兩個」到「方案一」,「方案二」
所以輸入可以作爲
option one
option two, option three, option four
最終這將需要轉換到
option one, option two, option three, option four
它工作正常,如果它是一個逗號
或
一個逗號,後跟一個換行符
但如果它只是本身就是一個換行符。
're.split'確實是答案。 –
我從來沒有注意到有點奇特的分裂方法!但我不是一個pythonite無論如何... :) –
不錯,'(\ s * [,\ n] \ s *)'工作完美,感謝tdammers :-) – nih