-1
我正在研究標籤推薦,並且需要將引號中的所有單詞轉換爲單個短語。例如將帶引號的字符串轉換爲帶正則表達式的單個短語
'In Absence of Good Men' to InAbsenceOfGoodMen
我正在研究標籤推薦,並且需要將引號中的所有單詞轉換爲單個短語。例如將帶引號的字符串轉換爲帶正則表達式的單個短語
'In Absence of Good Men' to InAbsenceOfGoodMen
這裏有一種方法,使用re.sub
和回調:
>>> import re
>>> string = "'In Absence of Good Men'"
>>> re.sub("'(.*?)'", lambda x: x.group(1).replace(' ', ''), string)
'InAbsenceofGoodMen'
可以使這個有點更具可讀性,通過了移動拉姆達到它自己的功能:
def foo(m):
if m:
return m.group(1).replace(' ', '')
string = "'In Absence of Good Men'"
new_string = re.sub("'(.*?)'", foo, string)
您可以捕獲不匹配,並以這種方式更好地處理錯誤。
它像魔術一樣工作:)。謝謝 –
你能告訴我這個組方法在做什麼嗎? –
@SeemaMudgil當然。回調接收到一個「匹配」對象。爲了提取匹配的字符串,你可以調用'group(1)'。 (1)在這種情況下,因爲在正則表達式中有一個捕獲組。如果沒有匹配,'foo'收到'None',所以你需要'if'檢查。 –