Betrachten Sie die Möglichkeiten von (1) Zeichen, die keine Buchstaben sind, und (2) Buchstaben, die überhaupt keine Groß- und Kleinschreibung haben.
John Machin
Antworten:
168
Es gibt eine Reihe von "is-Methoden" für Zeichenfolgen. islower()und isupper()sollte Ihre Bedürfnisse erfüllen:
>>>'hello'.islower()True>>>[m for m in dir(str)if m.startswith('is')]['isalnum','isalpha','isdigit','islower','isspace','istitle','isupper']
Hier ist ein Beispiel für die Verwendung dieser Methoden zum Klassifizieren einer Liste von Zeichenfolgen:
>>> words =['The','quick','BROWN','Fox','jumped','OVER','the','Lazy','DOG']>>>[word for word in words if word.islower()]['quick','jumped','the']>>>[word for word in words if word.isupper()]['BROWN','OVER','DOG']>>>[word for word in words ifnot word.islower()andnot word.isupper()]['The','Fox','Lazy']
Hallo. danke für die kurze antwort. Aber wie klassifiziere ich Wörter, die groß geschrieben werden? Zum Beispiel: 'Mixed Word'. Das dritte Beispiel scheint für alle möglichen Kombinationen gemischter Wörter geeignet zu sein, Beispiel: "mIxEd WoRD".
Swadhikar
10
'hallo'.istitle ()
Stephen
0
Ich möchte einen Gruß für die Verwendung des reModuls dafür geben. Speziell bei Groß- / Kleinschreibung.
Wir verwenden die Option re.IGNORECASE, während wir den regulären Ausdruck für die Verwendung in Produktionsumgebungen mit großen Datenmengen kompilieren.
>>>import re
>>> m =['isalnum','isalpha','isdigit','islower','isspace','istitle','isupper','ISALNUM','ISALPHA','ISDIGIT','ISLOWER','ISSPACE','ISTITLE','ISUPPER']>>>>>>>>> pattern = re.compile('is')>>>>>>[word for word in m if pattern.match(word)]['isalnum','isalpha','isdigit','islower','isspace','istitle','isupper']
Versuchen Sie jedoch immer, den inOperator für den Zeichenfolgenvergleich zu verwenden, wie in diesem Beitrag beschrieben
Antworten:
Es gibt eine Reihe von "is-Methoden" für Zeichenfolgen.
islower()
undisupper()
sollte Ihre Bedürfnisse erfüllen:Hier ist ein Beispiel für die Verwendung dieser Methoden zum Klassifizieren einer Liste von Zeichenfolgen:
quelle
Ich möchte einen Gruß für die Verwendung des
re
Moduls dafür geben. Speziell bei Groß- / Kleinschreibung.Wir verwenden die Option re.IGNORECASE, während wir den regulären Ausdruck für die Verwendung in Produktionsumgebungen mit großen Datenmengen kompilieren.
Versuchen Sie jedoch immer, den
in
Operator für den Zeichenfolgenvergleich zu verwenden, wie in diesem Beitrag beschriebenschneller-betrieb-re-match-or-str
Ebenfalls detailliert in einem der besten Bücher, mit denen Sie Python lernen können
idiomatische Python
quelle