single und double quote strings

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
Muchtar
User
Beiträge: 10
Registriert: Montag 14. Oktober 2013, 13:32

Hallo, ein neues Thema.
zwei strings möchten nicht gleich sein obwohl die gleich sind wegen der Quotes. Wie kann ich bitte v1='1' und v2="'1'" vergleichen?
so..?

Code: Alles auswählen

v1 == v2.replace("'","")
Danke
Muchtar
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Code: Alles auswählen

if v2.startswith('"') and v2.endswith('"'):
    return v1 == v2[1:-1]
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
BlackJack

@Muchtar: Kommt auf die genauen Anforderungen an, zum Beispiel ob innerhalb der Zeichenkette(n) ' vorkommen können und ob die einfach ignoriert werden dürfen für den Vergleich. Wie kommen die Anführungszeichen da überhaupt zustande? Nach Deinem bisherigen Quelltext würde ich nicht ausschliessen dass Du vorher schon etwas falsches gemacht hast. :-P
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Wo kommen die Daten denn her?

Du solltest allgemein Werte erst dann vergleichen, wenn die Umformungen alle erledigt sind!

Da wir nicht wissen, wie Deine Basisdaten aussehen sollen, können wir da schlecht helfen. Bei Deinem Beispiel oben hat ``v1`` laut Beschreibung ja selber noch Single-Quotes "drum herum"... die müsstest Du vermutlich auch entfernen.

Aber wie gesagt, ich halte das eher für Bestandteil eines Parsing-Prozesses, den man *vor* der weiteren Verarbeitung (wie etwa Vergleiche) erledigt haben sollte. Ansonsten weißt Du nie mehr im Programm, welches Format denn nun an welcher Stelle "richtig" / gültig ist!
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
Antworten