2013-06-26 46 views
-1

因此,希望在標題中簡要解釋問題。我總是可以修改我的csv源文件並刪除所有空白,但還有其他一些原因使得這個選項不太適合。如何從源文件中搜索沒有空格的字符串,其中相同的字符串之間可能有空格? (使用正則表達式)

那麼有什麼想法?這甚至可能與正則表達式?我使用Python 3.3 +正則表達式作爲我的語言。

+0

哦,我忘了提及,我必須能夠自動化幾千個字符串的正則表達式,所以不要問這個字符串是什麼:D – KerkkoHeiskanen

+0

看看這個鏈接它會幫助你[SO鏈接](http ://stackoverflow.com/questions/7965991/regex-match-with-and-without-space) –

+0

您是否正在尋找_any_字符串在您的文件中同時顯示和不顯示空格?或者你只是搜索具有_optional_空間的_a_字符串的出現?你能提供一個具體的例子嗎? –

回答

0

您可以根據您想要搜索的字符串產生一個正則表達式模式:

>>> import re 
>>> def search_with_spaces(what, where): 
...  return re.search(' *'.join(what), where) 
... 
>>> search_with_spaces('cd', 'ab c d efg') 
<_sre.SRE_Match object at 0x00696A68> 
>>> search_with_spaces('cd', 'ab c d efg').group(0) 
'c d' 
>>> search_with_spaces('cd', 'ab cd efg').group(0) 
'cd' 
>>> search_with_spaces('cd', 'ab c d efg').group(0) 
'c d' 

可能不會有最佳的效率,如果不同的字符串要搜索量很大,但應該做的伎倆。

相關問題