将单词与单词中的其他单词区分开

时间:2019-02-20 17:39:23

标签: python if-statement embedding

因此,我试图在句子中仅包含其他单词的单词中检测“ astro”(不区分大小写)。例如:

message = 'Astro, the astronaut, studies astrology.'

if 'astro' in message:
    count = message.count('astro')
    print(count)

当前代码的输出为3,因为其中包含三个单词,但是我希望所需的输出为1;第一个字。 任何帮助将不胜感激,谢谢!

2 个答案:

答案 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