在Python中,在另一個字符串中查找字符串的優雅方法是什麼,但只有當子字符串在整個單詞中,而不是單詞的一部分時纔有效?在字符串中查找子字符串,但僅限於整個單詞?
也許一個實例證實了我的意思:
string1 = "ADDLESHAW GODDARD"
string2 = "ADDLESHAW GODDARD LLP"
assert string_found(string1, string2) # this is True
string1 = "ADVANCE"
string2 = "ADVANCED BUSINESS EQUIPMENT LTD"
assert not string_found(string1, string2) # this should be False
我怎樣才能最好編寫一個名爲string_found,會做什麼,我需要的功能?我想我或許能有這樣的事情掰過來:
def string_found(string1, string2):
if string2.find(string1 + " "):
return True
return False
但是,這並不感到很優雅,也將不匹配字符串1,如果它是在字符串2月底。也許我需要一個正則表達式? (argh正則表達式恐懼)
不客氣:) – 2010-11-11 14:20:45
只要確保「保存」鍵盤粘貼,以便它們不會過期。 (我包括一個鏈接回到鍵盤評論,稍後也是我自己的筆記。) – 2010-11-13 07:27:07
對於那些希望確保標點符號和空白符號被認爲是有效的整個單詞分隔符的人...將上面的代碼修改爲如下: '''不在(string.whitespace + string.punctuation)''' 也注意這個函數的效率是RegEx替代方案的兩倍多,所以......如果你使用它很多,這個功能是要走的路。 – 2017-04-17 18:52:06