Anfanegerfrage - Listenproblem

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
le_bub
User
Beiträge: 8
Registriert: Donnerstag 13. September 2007, 12:22

Tach!

Die folgende Funktion soll aus einem String die Satzzeichen entfernen. Koennte mir bitte jemand erklaeren, warum sie nicht funktioniert?
Und wie das mit dem Unicode funktioniert, damit Umlaute keine Fehlermeldung erzeugen?
Vielen Dank fuer eure Unterstuetzung,

bub

Code: Alles auswählen

eingabe = unicode(raw_input('Bitte den zu uebersetzenden Text eingeben: '), "utf-8")
text = eingabe.rsplit()


def satzzloeschen():
    """ entfernt Satzzeichen aus den Elementen in der Liste text"""

    
    satzzeichen = [',', ';', '.', ':', '-', '(', ')', '"']

    for item in text:
        anfang = item[0]
        ende = item[-1]
     
        if anfang in satzzeichen:
            print 'Satzzeichen am Anfang entfernt'
            item = item[1:0]
            print item
            
        elif ende in satzzeichen:
        
            print 'Satzzeichen am Ende entfernt.'
            item = item[0:-1]
            print item
        

        


satzzloeschen()

print text

Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Hallo le_bub!

Zeichen am Anfang und am Ende eines Textes kannst du mit ``strip()`` entfernen.

Code: Alles auswählen

>>> s = ";asdfsadfasdf-"
>>> s.strip(',;.:-"()')
'asdfsadfasdf'
>>>
Und für Unicode habe ich nur diesen Link für dich: http://www.python-forum.de/topic-5095.html

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
le_bub
User
Beiträge: 8
Registriert: Donnerstag 13. September 2007, 12:22

Hui, vielen Dank fuer die schnelle Hilfe,

Gruss nach Tirol,

bub
Antworten