Python 找出一个单词在句子中出现的位置

Python 找出一个单词在句子中出现的位置,python,string,python-2.7,Python,String,Python 2.7,我想找出句子中某个单词的出现处,然后删除它。我能做到,但有时我想删除的单词可以是子单词。例如,我想在“音乐是世界性的”一句中找到/删除“单词”。我的程序将fin/remove返回一个正值,它在句子中找到了单词“word”,而实际上它遇到了单词“worldwide”,我希望它返回一个负值。 我目前正在使用 index=text.find(word)我想给这个词加一个空格,即: word=”“+单词 index=text.find(word)您可以使用正则表达式模块,并依赖正则表达式单词边界(\

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


index=text.find(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
有关详细信息,请查看模块的文档