Ich weiß von islower
und isupper
, aber können Sie überprüfen, ob dieses Zeichen ein Buchstabe ist oder nicht? Beispielsweise:
>>> s = 'abcdefg'
>>> s2 = '123abcd'
>>> s3 = 'abcDEFG'
>>> s[0].islower()
True
>>> s2[0].islower()
False
>>> s3[0].islower()
True
Gibt es eine Möglichkeit, einfach zu fragen, ob es sich neben .islower()
oder um einen Charakter handelt .isupper()
?
character.isalnum() or character == "_"
.Antworten:
Sie können verwenden
str.isalpha()
.Beispielsweise:
Ausgabe:
quelle
>>> print [x.isalpha() for x in u'Español-한국어']
gibt Ihnen [Wahr, Wahr, Wahr, Wahr, Wahr, Wahr, Wahr, Falsch, Wahr, Wahr, Wahr] wie erwartetGeben Sie true zurück, wenn alle Zeichen in der Zeichenfolge alphabetisch sind und mindestens ein Zeichen vorhanden ist, andernfalls false. Alphabetische Zeichen sind Zeichen, die in der Unicode-Zeichendatenbank als "Buchstabe" definiert sind, dh Zeichen mit allgemeiner Kategorieeigenschaft sind "Lm", "Lt", "Lu", "Ll" oder "Lo". Beachten Sie, dass sich dies von der im Unicode-Standard definierten Eigenschaft „Alphabetic“ unterscheidet.
In python2.x:
In python3.x:
Dieser Code funktioniert:
quelle
Ich habe einen guten Weg gefunden, dies mit einer Funktion und einem Basiscode zu tun. Dies ist ein Code, der eine Zeichenfolge akzeptiert und die Anzahl der Großbuchstaben, Kleinbuchstaben und auch "Sonstige" zählt. Andere werden als Leerzeichen, Satzzeichen oder sogar als japanische und chinesische Schriftzeichen klassifiziert.
quelle
str.isalpha
ist viel einfacher als 'data = "abcdefg hi j 12345"
Ausgabe:
Mit können
str.isalpha()
Sie überprüfen, ob es sich um einen Buchstaben handelt.quelle
Das funktioniert:
quelle
Das funktioniert:
quelle