因此,我试图在句子中仅包含其他单词的单词中检测“ astro”(不区分大小写)。例如:
message = 'Astro, the astronaut, studies astrology.'
if 'astro' in message:
count = message.count('astro')
print(count)
当前代码的输出为3,因为其中包含三个单词,但是我希望所需的输出为1;第一个字。 任何帮助将不胜感激,谢谢!
答案 0 :(得分:0)
您需要使用split
将消息拆分为单独的单词,然后使用startswith
检查单词的开头是否出现了astro。
答案 1 :(得分:0)
您需要整理一下数据。
message = "Astro, the astronaut, studies astrology."
首先,您需要摆脱与单个单词无关的所有内容。
import string
valid = ' ' + string.ascii_lowercase
message = [char for char in message.lower() if char in valid]
message = ''.join(message)
现在,消息看起来有些不同:
>>> message
'astro the astronaut studies astrology'
只需将消息重新分割在空格上并计算出现的次数!
>>> message.split().count('astro')
1