创建一个函数,给定两个参数:文本作为字符串,单词作为一组字符串,返回字符串中包含的字数。
EG。 count_words(“How aresjfhdskfhskd you?”,{“how”,“are”,“you”,“hello”})== 3
我的尝试:
import re
def count_words(text, words):
count = 0
for i in words:
x = re.compile('.*'+i+'.*')
if x.search(text):
count +=1
return count
我认为之前已经多次回答,但我找不到相关的答案,所以我道歉。 任何帮助将不胜感激,谢谢
答案 0 :(得分:8)
def count_words(text, words):
answer = 0
for i in range(len(text)):
if any(text[i:].startswith(word) for word in words):
answer += 1
return answer
如果您希望它对文本中的字母大小写不敏感:
def count_words(text, words):
text = text.lower()
answer = 0
for i in range(len(text)):
if any(text[i:].startswith(word) for word in words):
answer += 1
return answer
当然,这可以通过单行完成:
sum(text.count(word) for word in words)