我有這個初始字符串。Python中的字符串覆蓋優化
'bananaappleorangestrawberryapplepear'
,也有使用字符串的元組:
('apple', 'plepe', 'leoran', 'lemon')
我希望有一個功能,以便從最初的字符串,並用繩子元組我得到這樣的:
'bananaxxxxxxxxxgestrawberryxxxxxxxar'
我知道如何通過在每個單詞的初始字符串中找到單詞,然後在所有初始字符串中逐個字符地替換單詞來實現這一點。
但它不是非常有效和醜陋。我懷疑應該有一些更優雅的方式,以功能的方式,使用itertools或其他方法。如果您知道一個可以高效完成此操作的Python庫,請告訴我。
UPDATE:賈斯汀皮爾指出了一個案例,我沒有在我最初的問題中描述。如果一個單詞是'aaa'並且'aaaaaa'在初始字符串中,那麼輸出應該看起來像'xxxxxx'。
我看到的唯一問題是以下用例:其中一個單詞是'aaa',字符串s ='aaaaa'。這個方法會給出'xxxaa'而不是'xxxxx'的結果,因爲'finditer'找到下一個不重疊的匹配。可能不會出現,但這取決於OP想要做什麼。 – 2010-11-13 19:35:55
是的,我不清楚重疊單詞的情況會發生什麼。 – 2010-11-13 19:42:25
@Justin我沒有想到這種情況,但在字符串'aaaaaa'的情況下,單詞'aaa'應該給'xxxxxx'。但那真的是一個角落案例,如果有更好的事情,我可以和'xxxaa'一起生活。 – 2010-11-13 21:54:37