2016-05-08 18 views
-1

私は、入力された単語が文章のどこに現れるかを尋ねられました。私は大文字と小文字を区別しない方法を見つけ出し、どの単語を見つけるかを選択しましたが、単語の位置を印刷するのに問題があります。ここに私が持っているものは次のとおりです。文章中の特定の単語を見つける

enter code here 

sntc = input("Please type in a sentence without punctuation:") 
print("This is the sentence you input:",sntc) 
wrd = input("Please enter a word you want to search for in the sentence:") 
print("The word requested to be seacrhed for is:",wrd) 
sntcLow = sntc.lower() 
wrd1 = wrd.lower() 
SenLst = [] 
SenLst.append(sntcLow) 
print(SenLst) 
if any(wrd1 in s for s in SenLst): 
    print("Search successful. The word '",wrd1,"' has been found in position(s):") 
else: 
    print("Search unsuccessful. The word '",wrd1,"' was not found. Please try another word...") 

答えて

1

文字列にはこれを使用できます。

文字列に部分文字列が見つからない場合、または部分文字列が見つかった場合に部分文字列の開始位置のインデックスを返した場合は-1を返します。

この部分文字列の実際のスパニングインデックス(開始、終了)を望む場合は、単語の長さとフルスパンの開始インデックスを組み合わせることができます。

+0

スパニングインデックスの検索例を教えてください。 –

+0

これを見つけると、単語の開始文字位置がわかります。単語がどの位置にあるのかを見たいと思います。例:「太った猫は太ったマウスを食べました」としたら、「太っている」という言葉が第2位と第6位に現れます。これをどうやってやりますか? –

2

文中の特定の単語の位置を見つけるには、まずその文を単語に分割し、その単語の位置を見つけなければなりません。

>>> sentence = 'The fat cat ate a fat mouse' 
>>> words = sentence.split() 
>>> words 
['The', 'fat', 'cat', 'ate', 'a', 'fat', 'mouse'] 

今、あなたは、脂肪の場所を見つけるためにindexを使用することができます。

>>> words.index('fat') 
1 

しかし、それは唯一の出力が最初に出現するので、あなたはすでに、あなたが複数のオカレンスを持っている場合、そのインデックスはあまり役立ちません見ることができますように。

これで、リストをたどって単語に一致するかどうかを調べることができます。

関連する問題