始める無料で始める

部分文字列を見つける

新しい勤務日です。映画予測プロジェクトのためにデータセットのクレンジングを続けます。データを確認していると、位置 37 の文字から位置 41 の文字のあいだに、連続して同じ単語が繰り返し出現しているという不思議なパターンに気づきました。終了位置は「含まれない」ことを思い出しつつ、どの映画レビューにこの特徴があるかを見つける関数を書くことにします。もしその単語を検出したら、同じ単語が1回だけになるように置き換えて文字列を修正したいと考えています。

指示に従って if-else 文を完成させてください。

3 件の映画レビューのテキストはすでに変数 movies に保存されています。IPython シェルで print(movies) を実行すると内容を確認できます。

この演習はコースの一部です

Pythonで学ぶ正規表現

コースを見る

演習の手順

  • 部分文字列 actor が、インデックス 37 から 41(両端含む)の文字のあいだに出現するかを調べてください。見つからない場合は、Word not found という文を出力します。
  • actor がちょうど 2 回連続して現れる場合は、actor actor を部分文字列 actor に置き換えてください。
  • actor が 3 回連続して現れる場合は、actor actor actor を部分文字列 actor に置き換えてください。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

for movie in movies:
  	# If actor is not found between character 37 and 41 inclusive
    # Print word not found
    if movie.find("____", ____, ____) == ____:
        print("Word not found")
    # Count occurrences and replace two with one
    elif movie.____("____") == 2:  
        print(movie.replace("____", "____"))
    else:
        # Replace three occurrences with one
        print(movie.replace("____", "____"))
コードを編集して実行