Wie man in Python 2 und 3 eine Zeichenkette in Kleinbuchstaben konvertiert
- Zeichenkette in Python 3 in Kleinbuchstaben konvertieren
- String in Python 2.7 in Kleinbuchstaben konvertieren
- Schlussfolgerung
Zeichenkette in Python 3 in Kleinbuchstaben konvertieren
Der str Typ seit Python 3.0 enthält standardmäßig Unicode Zeichen, d.h. jede Zeichenkette wie "Unicode Beispiel", 'Unicode Beispiel 2' wird als Unicode gespeichert.
Daher können Sie str.lower() verwenden, um jede Zeichenkette in Python 3 in Kleinbuchstaben zu konvertieren.
exampleString = "CaseString"
exampleString.lower()
# Out: 'casestring'
exampleString = "СтрокаСлучая"
exampleString.lower()
# Out: 'строкаслучая'
str.casefold() caseless
str.lower() konvertiert die Zeichenkette in Kleinbuchstaben, aber es konvertiert nicht die Groß-/Kleinschreibung in der Zeichenkette.
Zum Beispiel ist ß im Deutschen gleich doppeltem s - ss, und ß selbst ist bereits kleingeschrieben, daher wird str.lower() es nicht konvertieren.
Aber str.casefold() wird ß in ss konvertieren.
>>> 'Straße'.lower()
'straße'
>>> 'Straße'.casefold()
'strasse'
String in Python 2.7 in Kleinbuchstaben konvertieren
Der Typ str wird in Python 2.7 nicht als Unicode gespeichert, und Unicode Strings sind Instanzen vom Typ Unicode. Wir müssen unterscheiden, ob es sich um einen ASCII String oder um einen Unicode String handelt, wenn wir den String in Kleinbuchstaben konvertieren.
ASCII Typ
Genauso ist es mit der in Python 3 verwendeten Methode. str.lower() wandelt den String in Kleinbuchstaben um.
exampleString = "CaseStringExample"
exampleString.lower()
# Out: 'casestringexample'
unicode typ
Wenn die Zeichen in der Zeichenkette vom Typ Unicode sind, und die Zeichenkette nicht explizit vom Typ Unicode dargestellt wird, konvertiert die Methode str.lower() die Zeichenkette überhaupt nicht in Kleinbuchstaben.
# python 2.x
exampleString = "СтрокаСлучая"
print exampleString.lower()
#Out: СтрокаСлучая
exampleString.lower() == exampleString
#Out: True
Python-Objekte zu Nicht-ASCII-Bytes in einem String mit no-encoding angegeben, weil die beabsichtigte Kodierung implizit ist.
Verwendung von Unicode-Literalen aber nicht str
exampleUnicodeString = u"СтрокаСлучая"
exampleUnicode
# u'\u0421\u0442\u0440\u043e\u043a\u0430\u0421\u043b\u0443\u0447\u0430\u044f'
exampleUnicodeString.lower()
# u'\u0441\u0442\u0440\u043e\u043a\u0430\u0441\u043b\u0443\u0447\u0430\u044f'
print exampleUnicodeString.lower()
# Out: строкаслучая
Hier konnte man sehen, dass das erste Zeichen der Zeichenkette von \u0421 in \u0441 umgewandelt wird.
Konvertiere eine str in unicode
Wenn der angegebene String in der Form str vorliegt, müssen wir ihn zuerst in Unicode konvertieren, bevor wir ihn in Kleinbuchstaben konvertieren.
exampleString = "СтрокаСлучая"
print exampleString.decode("utf-8").lower()
# Out: строкаслучая
Schlussfolgerung
Die lower() Methode ist die Methode, um Strings sowohl in Python 2 als auch in Python 3 in Kleinbuchstaben zu konvertieren, aber mit einem merklichen Unterschied.
string in Python 3 ist standardmäßig die unicode-Zeichenkette, aber string in Python 2 nicht. Wenn die Zeichenkette nicht explizit als unicode Typ dargestellt wird, z. B. indem kein u vor die Zeichenkette gesetzt wird, wird die Unicode-Zeichenkette überhaupt nicht in Kleinbuchstaben konvertiert.
str.casefold wandelt die Groß- und Kleinschreibung in ihre Übereinstimmung mit der Groß- und Kleinschreibung um, ist aber nur in Python 3 verfügbar. Sie könnten py2casefold in Python 2 installieren.
Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
LinkedIn FacebookVerwandter Artikel - Python String
- Entfernen Kommas aus String in Python
- Wie man überprüft, ob eine Zeichenkette auf eine pythonische Weise leer ist
- Konvertieren einer Zeichenkette in einen Variablennamen in Python
- Wie man Leerzeichen in einem String in Python entfernt
- Wie man in Python Zahlen aus einer Zeichenkette extrahiert
- Wie man in Python String in datetime konvertiert
