Hledání podřetězce
Nastává nový pracovní den a ty pokračuješ v čištění datasetu pro projekt předpovědi filmů. Při prozkoumávání datasetu si všimneš zvláštního vzoru: mezi znakem na pozici 37 a znakem na pozici 41 se opakují za sebou jdoucí slova. Rozhodneš se napsat funkci, která odhalí, která filmová hodnocení tento jev vykazují – přičemž nezapomeň, že koncová pozice, kterou zadáváš, není součástí hledaného rozsahu. Pokud dané slovo najdeš, chceš také upravit řetězec tak, aby se slovo vyskytovalo jen jednou.
Doplň příkaz if-else podle pokynů níže.
Text tří filmových hodnocení je již uložen v proměnné movies. Proměnnou si můžeš zobrazit pomocí print(movies) v IPython Shellu.
Toto cvičení je součástí kurzu
Regular Expressions in Python
Pokyny k cvičení
- Zjisti, jestli se podřetězec
actorvyskytuje mezi znaky s indexem37a41včetně. Pokud nebude nalezen, vypiš hláškuWord not found. - Nahraď
actor actorpodřetězcemactor, pokud seactoropakuje právě dvakrát za sebou. - Nahraď
actor actor actorpodřetězcemactor, pokud seactorvyskytuje třikrát za sebou.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
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("____", "____"))