Seite 1 von 1

Sonderzeichen im String erkennen..

Verfasst: Donnerstag 11. September 2008, 20:04
von Teabag
Hallo, ich bins mal wieder.
Ich habe ein problem,
mein programm soll Sonderzeichen wie ", ; . - ( ) / ? " ........
in einem string erkennen..
so dass wenn ich habe:
a = ","
das programm sagt..
dass es a ein sonderzeichen ist..

Gibt es dazu irgend einen Befehl.. bzw. eine Funktion??

Ich danke Euch schonmal vielmals.

viele liebe Grüße

Teabag

Re: Sonderzeichen im String erkennen..

Verfasst: Donnerstag 11. September 2008, 20:10
von numerix
Wenn du genau weißt, welche Sonderzeichen in Frage kommen, dann z.B. so:

Code: Alles auswählen

>>> text = "Hallo, du da!"
>>> sonderzeichen = ".,/!?"
>>> for ch in text:
...     if ch in sonderzeichen:
...         print "%s ist ein Sonderzeichen" %ch
...
, ist ein Sonderzeichen
! ist ein Sonderzeichen
Oder über ord() prüfen, ob das Zeichen in einem bestimmten Bereich liegt.

Verfasst: Donnerstag 11. September 2008, 20:10
von BlackJack
Kommt drauf an was Du als Sonderzeichen ansiehst.

Code: Alles auswählen

In [380]: import string

In [381]: string.punctuation
Out[381]: '!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~'

In [382]: a = ','

In [383]: a in string.punctuation
Out[383]: True

Verfasst: Donnerstag 11. September 2008, 20:11
von Teabag
ah xD klar,
@ numerix: da hätte ich aber selbst drauf kommen können :-D
vielen Dank

teabag

Verfasst: Donnerstag 11. September 2008, 20:16
von Craven
z.B. könntest Du sowas machen:

Code: Alles auswählen

from string import punctuation as p
a = "as+dk3/a%sd..,k&"
[(x, y) for x, y in enumerate(a) if y in p]
# Ausgabe: [(5, '/'), (10, '&')]
Edit: Zu langsam ... :wink: