Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Vergleich von Zeichenketten | Interaktionen Zwischen Datentypen
Datentypen in Python

Vergleich von Zeichenketten

Swipe um das Menü anzuzeigen

Zeichenfolgenvergleiche in Python sind standardmäßig groß-/klein­schreibungs­empfindlich. Wenn Benutzereingaben in der Groß-/Kleinschreibung variieren oder zusätzliche Leerzeichen enthalten können, zuerst normalisieren und dann vergleichen. Eine einfache und zuverlässige Methode ist das Entfernen von Leerzeichen und das Vereinheitlichen der Groß-/Kleinschreibung vor Gleichheits- oder Präfix/Suffix-Prüfungen.

Groß-/Kleinschreibungs­empfindlich vs. -unempfindlich

Standardmäßig ergibt "Apple" == "apple" den Wert False. Um die Groß-/Kleinschreibung zu ignorieren, beide Seiten normalisieren.

12345
# Comparing two email addresses entered with different letter cases email_saved = "Support@Codefinity.com" email_entered = "support@codefinity.COM" print(email_saved.lower() == email_entered.lower()) # True → emails match regardless of case

casefold() ist eine stärkere, international ausgerichtete Variante von lower() und eignet sich besser als Standard für vergleichende, nicht groß-/kleinschreibungsabhängige Vergleiche.

12345
# Comparing international usernames regardless of letter case username_db = "straße" username_input = "STRASSE" print(username_db.casefold() == username_input.casefold()) # True → matches even with special characters

Kürzen und Vergleichen

Benutzer fügen oft versehentlich Leerzeichen hinzu. Vor dem Vergleich führende und nachfolgende Leerzeichen entfernen.

12345
# Validating a user's role input from a form user_input = " admin " required_role = "ADMIN" print(user_input.strip().casefold() == required_role.casefold()) # True → matches after cleanup and case normalization

Präfix- und Suffix-Prüfungen

Verwendung von startswith und endswith. Für eine Groß-/Kleinschreibungs-unabhängige Prüfung zuerst normalisieren.

123456789
# Checking if the uploaded document has the correct format and name uploaded_file = "Report_Final.PDF" # Validate file type (case-insensitive) print(uploaded_file.lower().endswith(".pdf")) # True → valid PDF file # Validate file name prefix (e.g., all reports start with "rep") required_prefix = "rep" print(uploaded_file.strip().casefold().startswith(required_prefix.casefold())) # True → matches prefix ignoring case

Konsistente Normalisierungspipeline

Eine einfache, wiederholbare Reihenfolge wählen:

  1. Äußere Leerzeichen mit .strip() entfernen;
  2. Groß-/Kleinschreibung mit .casefold() (oder .lower() nach Wunsch) vereinheitlichen;
  3. Anschließend ==, in, startswith, endswith oder andere Prüfungen verwenden.

1. Welche Zeile führt einen groß-/kleinschreibungsunabhängigen Gleichheitsvergleich korrekt durch?

2. Gegeben s = " Hello ", welcher Ausdruck liefert True für einen groß-/kleinschreibungsunabhängigen Gleichheitsvergleich mit "hello" unter Ignorieren der umgebenden Leerzeichen?

3. Welche Aussage ist für einen robusten, nicht groß-/kleinschreibungssensitiven Vergleich am zutreffendsten?

question mark

Welche Zeile führt einen groß-/kleinschreibungsunabhängigen Gleichheitsvergleich korrekt durch?

Wählen Sie die richtige Antwort aus

question mark

Gegeben s = " Hello ", welcher Ausdruck liefert True für einen groß-/kleinschreibungsunabhängigen Gleichheitsvergleich mit "hello" unter Ignorieren der umgebenden Leerzeichen?

Wählen Sie die richtige Antwort aus

question mark

Welche Aussage ist für einen robusten, nicht groß-/kleinschreibungssensitiven Vergleich am zutreffendsten?

Wählen Sie die richtige Antwort aus

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 4. Kapitel 2

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

Vergleich von Zeichenketten

Zeichenfolgenvergleiche in Python sind standardmäßig groß-/klein­schreibungs­empfindlich. Wenn Benutzereingaben in der Groß-/Kleinschreibung variieren oder zusätzliche Leerzeichen enthalten können, zuerst normalisieren und dann vergleichen. Eine einfache und zuverlässige Methode ist das Entfernen von Leerzeichen und das Vereinheitlichen der Groß-/Kleinschreibung vor Gleichheits- oder Präfix/Suffix-Prüfungen.

Groß-/Kleinschreibungs­empfindlich vs. -unempfindlich

Standardmäßig ergibt "Apple" == "apple" den Wert False. Um die Groß-/Kleinschreibung zu ignorieren, beide Seiten normalisieren.

12345
# Comparing two email addresses entered with different letter cases email_saved = "Support@Codefinity.com" email_entered = "support@codefinity.COM" print(email_saved.lower() == email_entered.lower()) # True → emails match regardless of case

casefold() ist eine stärkere, international ausgerichtete Variante von lower() und eignet sich besser als Standard für vergleichende, nicht groß-/kleinschreibungsabhängige Vergleiche.

12345
# Comparing international usernames regardless of letter case username_db = "straße" username_input = "STRASSE" print(username_db.casefold() == username_input.casefold()) # True → matches even with special characters

Kürzen und Vergleichen

Benutzer fügen oft versehentlich Leerzeichen hinzu. Vor dem Vergleich führende und nachfolgende Leerzeichen entfernen.

12345
# Validating a user's role input from a form user_input = " admin " required_role = "ADMIN" print(user_input.strip().casefold() == required_role.casefold()) # True → matches after cleanup and case normalization

Präfix- und Suffix-Prüfungen

Verwendung von startswith und endswith. Für eine Groß-/Kleinschreibungs-unabhängige Prüfung zuerst normalisieren.

123456789
# Checking if the uploaded document has the correct format and name uploaded_file = "Report_Final.PDF" # Validate file type (case-insensitive) print(uploaded_file.lower().endswith(".pdf")) # True → valid PDF file # Validate file name prefix (e.g., all reports start with "rep") required_prefix = "rep" print(uploaded_file.strip().casefold().startswith(required_prefix.casefold())) # True → matches prefix ignoring case

Konsistente Normalisierungspipeline

Eine einfache, wiederholbare Reihenfolge wählen:

  1. Äußere Leerzeichen mit .strip() entfernen;
  2. Groß-/Kleinschreibung mit .casefold() (oder .lower() nach Wunsch) vereinheitlichen;
  3. Anschließend ==, in, startswith, endswith oder andere Prüfungen verwenden.
War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 4. Kapitel 2
some-alt