Python で単語の出現箇所を見つけて、この単語の後にその単語を出力したいと思います。単語はスペースで区切られています。
例 :
ファイルに「sample」「thisword」という単語が出現した場合。この言葉を手に入れたい。thisword が変化し続けるため、正規表現が必要です。
Python で単語の出現箇所を見つけて、この単語の後にその単語を出力したいと思います。単語はスペースで区切られています。
例 :
ファイルに「sample」「thisword」という単語が出現した場合。この言葉を手に入れたい。thisword が変化し続けるため、正規表現が必要です。
Python 文字列には、文字列を空白文字 ( doc ) で区切られた単語のリストに分割するメソッド split が組み込まれています。単語を分割する方法を制御するためのパラメーターがあり、必要な単語のリストを検索して、次のインデックスを返す
your_string = "This is a string"
list_of_words = your_string.split()
next_word = list_of_words[list_of_words.index(your_search_word) + 1]
関数が欲しいようです。
>>> s = "This is a sentence"
>>> sl = s.split()
>>>
>>> def nextword(target, source):
... for i, w in enumerate(source):
... if w == target:
... return source[i+1]
...
>>> nextword('is', sl)
'a'
>>> nextword('a', sl)
'sentence'
>>>
もちろん、いくつかのエラー チェックを行い (たとえば、最後から外れないようにするため)、もしかすると while ループを実行して、ターゲットのすべてのインスタンスを取得する必要があります。しかし、これで始められるはずです。
非常に単純なアプローチ:
s = "this is a sentense"
target = "is"
words = s.split()
for i,w in enumerate(words):
if w == target:
# next word
print words[i+1]
# previous word
if i>0:
print words[i-1]