在句子中查找单词的出现

2024-06-16 09:01:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我想找出句子中某个词的出现,然后去掉它。我能做到,但有时我想删除的词可以是一个子词。例如,我想在“音乐是世界性的”这句话中找到/删除“word”。我的程序将fin/remove返回一个正值,它在句子中找到了单词“word”,而实际上它遇到了单词“worldwide”,我希望它返回一个负值。 我正在使用

index = text.find(word)

有没有其他方法可以避免这个词成为句子中的子词的问题?提前谢谢!你知道吗


Tags: 方法text程序index音乐find单词remove
2条回答

我想给这个词加一个空格,即:

word = " "+ word index = text.find(word)

但我想知道有没有更有效更干净的方法。你知道吗

您可以使用正则表达式模块,并依赖正则表达式单词边界(\b)来只匹配完整的单词。你知道吗

由于您试图从句子中删除单词,下面的示例将用空字符串替换所有匹配项:

import re

sentence = 'Music world is worldwide'
word = 'world'
removed = re.sub(r'\b%s\b' % word, '', sentence)

print removed # prints "Music   is worldwide" 

如果只想找到第一次出现的位置,可以按以下步骤进行:

import re

sentence = 'Music is worldwide in the world'
word = 'world'
match = re.search(r'\b%s\b' % word, sentence)

if match:
    print match.start() # prints 26

有关详细信息,请查看^{}模块的文档。你知道吗

相关问题 更多 >