在字符串中查找单词的位置

2022-01-20 00:00:00 python python-3.x string find

问题描述

与:

sentence= input("Enter a sentence")
keyword= input("Input a keyword from the sentence")

我想找到关键字在句子中的位置.到目前为止,我的代码去掉了标点符号并将所有字母变为小写:

I want to find the position of the keyword in the sentence. So far, I have this code which gets rid of the punctuation and makes all letters lowercase:

punctuations = '''!()-[]{};:'",<>./?@#$%^&*_~'''#This code defines punctuation
#This code removes the punctuation
no_punct = "" 
for char in sentence:
   if char not in punctuations:
       no_punct = no_punct + char

no_punct1 =(str.lower (no_punct)

我知道需要一段代码来实际找到单词的位置.

I know need a piece of code which actually finds the position of the word.


解决方案

这就是 str.find() 用于:

This is what str.find() is for :

sentence.find(word)

这将为您提供单词的起始位置(如果存在,否则为-1),然后您只需将单词的长度添加到它以获得其结尾的索引.

This will give you the start position of the word (if it exists, otherwise -1), then you can just add the length of the word to it in order to get the index of its end.

start_index = sentence.find(word)
end_index = start_index + len(word) # if the start_index is not -1

相关文章