Czy jest jakaś domyślna funkcja pozwalająca usuwać wybrane elementy z łańcucha znaków, np. mamy zdanie "Ala ma kota" i z tego zdania chciałbym usunąć wszystkie samogłoski. Próbowałem zastosować funkcję remove(), ale bezskutecznie.
0
1
remove_vowels = str.maketrans('', '', 'aeiou')
"qwertyuiopasdfghjklzxcvbnm".translate(remove_vowels)
1
albo
>>> import re
>>> my_string = 'Ala ma kota'
>>> my_string = re.sub(r'[AEIOUaeiou]', '', my_string)
>>> my_string
'l m kt'
>>>
1
Mniej optymalnie, ale prościej do zrozumienia:
a="Ala ma kota"
rep = "aeiou"
rep += rep.upper()
for i in rep:
if i in a:
a=a.replace(i, '')
#"l m kt"
Powyższe metody działają na tej samej zasadzie.
2
Takie najporstrze rozwiązanie to chyba
''.join(c for c in your_string if not c in 'aeiouAEIOU')
Dodatkowa uwaga - technicznie rzecz biorąc, nie możesz usunąć nic, gdyż stringi są niezmienne (immutable), możesz co najwyżej zrobić nowego stringa, który nie będzie zawierał niechcianych znaków.