funkcji clearText() powinna zwracać przekazany do niej przez parametr łańcuch znaków, wyczyszczony z wszelkich znaków innych niż litery i cyfry. Zmodyfikuj funkcję, aby działała poprawnie.
return "".join([char for char in text if not char in symbols])
Wyjaśnienie:
symbols to lista ze znakami które zostaną usunięte w funkcji clearText ["!", "@", "#", itp.], punctuation to string zawierający wszystkie znaki więc można napisać to manualnie zamiast importować.
Napisalem dwie metody
Metoda 1 sprawdza po kolei znak w danym tekście, jeżeli znak nie jest w liście symbols to dodaje go do stringa output a potem zwraca output
Metoda 2 tworzy nową liste do której dodaje znak jeżeli znak nie jest w liście symbols a potem łączy tą listę w stringa i zwraca
Mam nadzieje, że pomogłem :)
6 votes Thanks 1
wrozny68
Jeszcze dodatkowo, jeżeli spacje mają być usuwane to trzeba dopisać pod zmienną symbols symbols.append(" ")
Verified answer
Odpowiedź:
from string import punctuation
symbols = [*punctuation]
# metoda 1
def clearText(text):
output = ""
for char in text:
if not char in symbols:
output += char
return output
# metoda 2
def clearText(text):
return "".join([char for char in text if not char in symbols])
Wyjaśnienie:
symbols to lista ze znakami które zostaną usunięte w funkcji clearText
["!", "@", "#", itp.], punctuation to string zawierający wszystkie znaki więc można napisać to manualnie zamiast importować.
Napisalem dwie metody
Metoda 1 sprawdza po kolei znak w danym tekście, jeżeli znak nie jest w liście symbols to dodaje go do stringa output a potem zwraca output
Metoda 2 tworzy nową liste do której dodaje znak jeżeli znak nie jest w liście symbols a potem łączy tą listę w stringa i zwraca
Mam nadzieje, że pomogłem :)
symbols.append(" ")
Lub z wykorzystaniem wyrażeń regularnych:
import re
def clearText(text):
return re.sub(r'[^a-zA-Z0-9]', '', text)