我有句子,例如「hello this is hello stackoverflow hello」。我需要做的是保持第一個問候,但在句子中刪除其他「你好」。我會如何去做這件事?如何用python替換句子中的特定單詞
回答
必須是比德的一個速度更快,但價格可讀性:
>>> idx = s.find('hello') + len('hello')
>>> s[:idx] + s[idx:].replace('hello', '')
'hello this is stackoverflow '
parts = old.split("hello")
parts[1:1] = "hello"
new = "".join(parts)
好像應該有一個更好的辦法...
FYI,與這一個可能間隔的問題。 – 2011-12-27 17:08:19
問題是所有「你好」的可能不是大寫字母。如果任何一個hello的大小寫不同,它將無法正常工作。 – incognito2 2011-12-27 17:41:04
@ incognito2。不公平!大寫問題徹底改變了你原來的問題。 – ekhumoro 2011-12-27 17:45:03
非常糟糕的方式:
s = "hello this is hello stackoverflow hello"
s = s.replace("hello", "world").replace("world", "hello", 1)
這將替換所有hello
通過world
,那麼只有第world
通過hello
更換
很好,直到你的輸入字符串已經包含「hello」之前的「world」。 – kindall 2011-12-27 17:10:10
s = "hello this is hello stackoverflow hello"
t = "hello"
i = s.index(t) + len(t) + 1
s = s[:i] + s[i:].replace(t, "")
print s # hello this is stackoverflow
>>> s = 'hello this is hello stackoverflow hello'
>>> head, sep, tail = s.partition('hello')
>>> head + sep + tail.replace('hello', '')
'hello this is stackoverflow '
首先,每個人都會認爲這是一個匹配模式的難題,所以問題是爲什麼hello
重複?
如果第一hello
假定然後字符串的一個簡單的過濾可以解決該問題
s = 'hello this is hello stackoverflow hello'
l = s.split(' ')
"hello %s" % " ".join(filter (lambda a: a != 'hello', l))
'hello this is stackoverflow'
或者:
import re
s = 'hello this is hello stackoverflow hello'
re.sub('\shello\s?', ' ', s).strip()
'hello this is stackoverflow'
只有當第一個'hello'恰好在字符串的開頭時纔有效。 – ekhumoro 2011-12-27 17:31:51
正是我爲什麼說我說的話,我們把這個問題看作是一個模式問題,所以我們試圖解決這個問題,但爲什麼在這種情況下重複你好? – 2011-12-27 17:33:11
它們是由任何人輸入的隨機句子 – incognito2 2011-12-27 17:36:21
- 1. 用python中的不同名稱替換句子中的特定單詞
- 2. 替換句子中的某些單詞
- 3. 用perl腳本句子替換單詞
- 4. 替換特定單詞
- 5. Grunt:替換行中的特定單詞
- 6. 替換NSString中的特定單詞
- 7. 如何用java替換字符串中的特定單詞?
- 8. 從句子中獲得特定單詞
- 9. 如何在不使用python替換方法的情況下替換句子中的單詞
- 10. 找到句子的指數特定單詞(列表中的句子)在Python
- 11. Python替換一行中的特定單詞
- 12. Python:用一個句子中的字符替換犯規詞
- 13. javascript替換整個站點中的其他特定單詞的特定單詞
- 14. 效率 - 替換句子中間的詞
- 15. 替換句子中的第n個詞
- 16. 如何使用php分割特定單詞的句子?
- 17. 如何替換特定行中的單詞
- 18. 如何替換字符串中特定數量的單詞?
- 19. 我如何格式化jeditorpane中的特定單詞/句子?
- 20. 如何在句子中添加特定單詞的鏈接?
- 21. 如何使用sed替換特定單詞後的未知單詞?
- 22. 如何使用python替換文本文件中特定單詞附近的單詞
- 23. 如何通過python替換單詞?
- 24. 如何將單詞轉換爲句子?
- 25. 如何從句子中獲得特定單詞?
- 26. 如何用python中的下劃線替換單詞的元音?
- 27. 替換多個單詞 - python
- 28. 如何替換以特定字符結尾的所有單詞?
- 29. 字符串替換多個單詞中的一個句子
- 30. Postgres規則來替換WHERE子句中的單詞
我最初在for循環中使用了類似的東西。 – incognito2 2011-12-27 17:37:40