Wie man eine Zeichenkette, die eine Zahl enthält, in Python prüft
-
Python-Funktion
any
mitstr.isdigit
zur Prüfung, ob eine Zeichenkette eine Zahl enthält -
map()
Funktion -
re.search(r'\d')
um zu prüfen, ob eine Zeichenkette eine Zahl enthält
Dieser Artikel stellt vor, wie geprüft werden kann, ob eine Python-Zeichenkette eine Zahl enthält oder nicht.
Die in Python eingebaute Funktion any
function zusammen mit str.isdigit
gibt True
zurück, wenn die gegebene Zeichenkette eine Zahl enthält, andernfalls gibt sie False
zurück.
Die Python-Suchmethode für reguläre Ausdrücke mit dem Muster r'\d'
könnte auch True
zurückgeben, wenn die gegebene Zeichenkette eine Zahl enthält.
Python-Funktion any
mit str.isdigit
zur Prüfung, ob eine Zeichenkette eine Zahl enthält
any
Funktion gibt True
zurück, wenn irgendein Element der gegebenen iterabel
True
ist, andernfalls gibt sie False
zurück.
str.isdigit()
gibt True
zurück, wenn alle Zeichen in der gegebenen Zeichenkette Ziffern sind, andernfalls False
.
any(chr.isdigit() for chr in stringExample)
Wenn stringExample
mindestens eine Zahl enthält, dann gibt der obige Code True
zurück, weil chr.isdigit() for chr in stringExample
mindestens ein True
in der iterabel
hat.
Arbeitsbeispiel
str1 = "python1"
str2 = "nonumber"
str3 = "12345"
print(any(chr.isdigit() for chr in str1))
print(any(chr.isdigit() for chr in str2))
print(any(chr.isdigit() for chr in str3))
Ausgabe:
True
False
True
map()
Funktion
Python map(function, iterable)
fuction wendet auf jedes Element der gegebenen iterable
eine Funktion
an und gibt einen Iterator zurück, der das obige Ergebnis liefert.
Daher könnten wir die obige Lösung umschreiben zu,
any(map(str.isdigit, stringExample))
Arbeitsbeispiel
str1 = "python1"
str2 = "nonumber"
str3 = "12345"
print(any(map(str.isdigit, str1)))
print(any(map(str.isdigit, str2)))
print(any(map(str.isdigit, str3)))
Ausgabe:
True
False
True
re.search(r'\d')
um zu prüfen, ob eine Zeichenkette eine Zahl enthält
re.search(r'\d', string)
pattern scannt die String
und gibt das übereinstimmende Objekt für die erste Stelle zurück, die mit dem gegebenen Muster übereinstimmt - \d
, was eine beliebige Zahl zwischen 0 und 9 bedeutet und None
zurückgibt, wenn keine Übereinstimmung gefunden wird.
import re
print(re.search(r"\d", "python3.8"))
# output: <re.Match object; span=(6, 7), match='3'>
Das Match-Objekt enthält das 2-Tupel span
, das die Start- und Endposition des Matches
angibt, und auch den übereinstimmenden Inhalt wie match = '3'
.
Die Funktion bool()
könnte das Ergebnis der re.search
von match object
oder None
auf True
oder False
casten.
Arbeitsbeispiel
import re
str1 = "python12"
str2 = "nonumber"
str3 = "12345"
print(bool(re.search(r"\d", str1)))
print(bool(re.search(r"\d", str2)))
print(bool(re.search(r"\d", str3)))
Ausgabe:
True
False
True
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 prüft, ob eine Zeichenkette auf 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