[PYTHON] Löschen Sie ein Zeichen aus einer Zeichenfolge.

Beispiel Entfernen Sie die Vokale 'a, e, i, o, u' von 'Ich lerne Python.' Und die Ausgabe lmnng Pyth n. '.

Einige Buchstaben sind Vokale = ['a', 'e', 'i', 'o', 'u', 'A', 'I', 'U', 'E', 'O' ]] Einige Zeichenfolgen lauten: "Ich lerne Python."

example.py


def anti_vowel(text):
    vowels = ['a','e','i','o','u','A','I','U','E','O']
    new_text =[]
    for i in text:
        new_text.append(i)
        for j in vowels:
            if i == j:
                new_text.remove(j)
    return ''.join(new_text)
print anti_vowel('I am learning Python.')
# m lrnng Pythn.

Dies ist auch der Fall.

example2.py


def anti_vowel(text):
        new_text = ""
        vowels = "aeiouAEIOU"
        for i in text:
            if i not in vowels:
                new_text += i
        return new_text
print anti_vowel('I am learning Python.')

Wenn Sie in einer Zeile schreiben

example3.py


def anti_vowel(text):
    return ''.join([new_text for new_text in list(text) if new_text not in 'aeiouAEIOU'])
print anti_vowel('I am learning Python.')

Mit regulären Ausdrücken (* memo: Studie erforderlich) können Sie wie folgt schreiben.

example.py


import re
s='I am learning Python.'
print re.sub('[aeiouAEIOU]', '', s)
#Or
print s.translate(None, 'aeiouAEIOU')
#Or
print filter(lambda c: c.lower() not in 'aeiou', s)

Danke @knoguchi!

Recommended Posts

Löschen Sie ein Zeichen aus einer Zeichenfolge.
String-Format
Zeichenfolgenformat 2
Zusammenfassung der Zeichenketten 1
rohe Schnur
Python-String