reguläre ausdrücke im if statement
-
In einer Schleife will ich prüfen, ob die Variable ein Vorzeichen hat.
if variable.startswith("-") or variable.startswith("+"): print variable
Das funktioniert.
Aber ist mir irgendwie zu lang, wollte das gerne mit einem Regulären Ausdruck machen:if r"[-,+]" in variable: print variable
Klappt aber nicht.
Kommt auch keine Fehlermeldung. Er printet einfach nix aus.Ps.
Benutze Python 2.7
-
Python kann ich zwar nicht, aber in Ruby gehts folgendermaßen:
puts variable if ['+', '-'].include? variable[0] # gib variable aus, wenn das Array ['+', '-'] das erste Zeichen von variable enthält
In Python solltest du analog vorgehen können.
-
Wie wärs mit
if variable and variable[0] in "-+": print variable
-
HelloCCP schrieb:
if r"[-,+]" in variable: print variable
Klappt aber nicht.
Kommt auch keine Fehlermeldung. Er printet einfach nix aus.Komisch, ne? Hast wohl vergessen,
readthoughts
zu importieren.Im Ernst, RTFM. Mach dich über das
re
Modul schlau und versuch dann herauszufinden, was das gemacht hat, was du oben versucht hast.
-
HelloCCP schrieb:
Aber ist mir irgendwie zu lang, wollte das gerne mit einem Regulären Ausdruck machen:
if r"[-,+]" in variable: print variable
Klappt aber nicht.
Kommt auch keine Fehlermeldung. Er printet einfach nix aus.Weißt du, was das r vor dem String bedeutet (Tipp: es hat nichts mit regulären Ausdrücken zu tun).
Weißt du was der in Operator macht, wenn du ihn auf zwei Strings anwendest?Wenn du beides beantworten kannst solltest du wissen, warum dein Code das tut, was er tut.