Character in String, and-Kette, Verwirrung

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
Benutzeravatar
__blackjack__
User
Beiträge: 13077
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Naja, aber irgendein anderer lokaler Rechnername als `localhost` könnte ja auch genommen werden. Der Punkt ist, das es gültige E-Mail-Adressen ohne Punkt gibt. Warum die also ohne Not ausschliessen?

`all()` ist kein Schlüsselwort sondern eine Funktion.

Das ``not`` steht an der falschen Stelle, denn Du willst ja das die beiden Zeichen darin vorkommen und nicht das beide Zeichen nicht drin vorkommen.

Nach dem ``and`` macht das `all()` keinen Sinn wenn da nur auf *ein* Zeichen geprüft wird. ``'/' not in string`` ist kürzer und macht das gleiche. Wenn es mehr werden sollten, dann braucht man da auch `any()` statt `all()`.

Aber auch hier wieder: '/' kann in gültigen E-Mails vorkommen.

Wobei in den Headern von einer E-Mail ja noch ganz andere Sachen vorkommen können.

Ausserdem würde ich sowas nicht selber schreiben — da gibt's schon Bibliotheken für.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
Benutzeravatar
snafu
User
Beiträge: 6738
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Bei nur zwei gesuchten Buchstaben würde ich wahrscheinlich auch kein all() nehmen, sondern es mit der and-Verknüpfung lösen. An sich wollte ich nur zeigen, dass es auch anders geht, wenn man mehrere Suchkriterien hat, die alle enthalten sein sollen.

Und immer schön an das Laufzeitverhalten denken: Mehrfache in-Operationen auf den gleichen Text haben quadratische Laufzeit. Jetzt ist das egal, aber bei größeren Texten kann das zum Problem werden. Wenn dann Auswirkungen auf die Laufzeit spürbar sind, sollte man sich nach Alternativen umsehen.
Antworten