我有這樣的事情:只替換一個字符串的第一次出現?
text = 'This text is very very long.'
replace_words = ['very','word']
for word in replace_words:
text = text.replace('very','not very')
我想只替換第一個「非常」或選擇其「非常」被覆蓋。我在更大量的文本上這樣做,所以我想控制如何替換重複的單詞。
我有這樣的事情:只替換一個字符串的第一次出現?
text = 'This text is very very long.'
replace_words = ['very','word']
for word in replace_words:
text = text.replace('very','not very')
我想只替換第一個「非常」或選擇其「非常」被覆蓋。我在更大量的文本上這樣做,所以我想控制如何替換重複的單詞。
text = text.replace("very", "not very", 1)
>>> help(str.replace)
Help on method_descriptor:
replace(...)
S.replace (old, new[, count]) -> string
Return a copy of string S with all occurrences of substring
old replaced by new. If the optional argument count is
given, only the first count occurrences are replaced.
從http://docs.python.org/release/2.5.2/lib/string-methods.html:
取代(舊的,新[,計數])
返回字符串的副本串的所有出現舊的被新的取代。如果給出了可選參數計數,則只會替換第一個計數事件 。
我沒有嘗試,但我相信它的工作原理
text = text.replace("very", "not very", 1)
第三個參數是要替換出現的最大數量。
從the documentation for Python:
與string.replace(S,舊,新[,maxreplace])
返回字符串s的通過更換新的舊的子串出現的所有副本。如果給出可選參數maxreplace,則會替換第一個maxreplace事件。