在Python 2.7,:計數出現在給定的這串另一個字符串
Spot是一條黃狗。斑點有棕色頭髮。斑點的頭髮是棕色的。
什麼是找到字符串中「Spot」,「brown」和「hair」的總和的最佳方式?在這個例子中,它會返回8.
我正在尋找像string.count("Spot","brown","hair")
之類的東西,但可以與元組或列表中的「要找到的字符串」一起使用。
謝謝!這將在數由1自'brown.'
和'brown'
是獨立的計數器項
s = 'Spot is a brown dog. Spot has brown hair. The hair of Spot is brown.'
words_we_want = ("Spot","brown","hair")
from collections import Counter
data = Counter(s.split())
print (sum(data[word] for word in words_we_want))
注:
你想在「大閘蟹」算「毛」? nltk答案不計算它,而'count()'和正則表達式應答。 – EOL 2013-03-19 01:11:18
通過添加單詞邊界('\ b')很容易通過'regex'排除它。 – mgilson 2013-03-19 01:13:10
的確,但這會改變你的答案。 :) – EOL 2013-03-19 01:21:41