Wenn Sie mit Textdaten in Python arbeiten, müssen Sie häufig überprüfen, ob eine Zeichenfolge nur Zahlen enthält. Dies kann beispielsweise nützlich sein, wenn Sie Eingaben von einem Benutzer validieren oder Daten analysieren.
In Python gibt es mehrere Möglichkeiten, eine Zeichenfolge auf nur Zahlen zu überprüfen. Eine der einfachsten und schnellsten Möglichkeiten ist die Verwendung der Methode isdigit(). Diese Methode gibt True zurück, wenn nur Zahlen in der Zeichenfolge enthalten sind, andernfalls False.
Sie können auch die Funktion verwenden isnumeric(), die auch prüft, ob eine Zeichenfolge nur aus Zahlen besteht. Im Gegensatz zu isdigit(), isnumeric() berücksichtigt auch zusätzliche Zeichen, z. B. Bruchzahlen und Symbole aus anderen Alphabeten.
Sie können reguläre Ausdrücke für komplexere Überprüfungen verwenden. Sie können beispielsweise ein Modul verwenden re und Funktion match(), die überprüft, ob die Zeichenfolge mit dem angegebenen Muster übereinstimmt. In regulären Ausdrücken können Sie angeben, dass eine Zeichenfolge nur aus Ziffern bestehen soll, indem Sie ein Muster verwenden "^\d+$".
Methoden zum Überprüfen, ob Zahlen in einer Zeichenfolge vorhanden sind
In Python gibt es mehrere Methoden, um zu überprüfen, ob Zahlen in einer Zeichenfolge vorhanden sind. Betrachten wir einige von ihnen:
- isdigit() -Methode : Diese Methode gibt True zurück , wenn alle Zeichen in der Zeichenfolge Ziffern sind und andernfalls False. Zum Beispiel: string = "12345" print(string.isdigit()) # Output: True string = "12345abc" print(string.isdigit()) # Output: False
- isdecimal() -Methode : diese Methode gibt True zurück , wenn alle Zeichen in der Zeichenfolge Dezimalstellen sind (0 bis 9) und andernfalls False. Zum Beispiel: string = "12345" print(string.isdecimal()) # Output: True string = "12345abc" print(string.isdecimal()) # Output: False
- isnumeric() -Methode : Diese Methode gibt True zurück , wenn alle Zeichen in der Zeichenfolge Zahlen sind, andernfalls False. Es enthält auch Sonderzeichen, die sich auf Zahlen beziehen, wie Brüche, Indizes usw. Zum Beispiel: string = "12345" print(string.isnumeric()) # Output: True string = "12345abc" print(string.isnumeric()) # Output: False string = "½" print(string.isnumeric()) # Output: True
Daher können diese Methoden verwendet werden, um zu überprüfen, ob Strings nur Zahlen in Python enthalten. Ihre Verwendung kann für verschiedene Aufgaben nützlich sein, z. B. die Validierung von Benutzereingaben oder die Verarbeitung von Daten.
Verwenden der isnumeric() -Methode
Beispiel für die Verwendung der isnumeric() -Methode :
-
Der folgende Code überprüft, ob alle Zeichen in der Zeichenfolge "12345" Zahlen sind:
string = "12345"
string = "12.34"
string = ""
Die isnumeric() -Methode kann nützlich sein, um Benutzereingaben zu überprüfen und die Eingabezeichenfolge vor der weiteren Verarbeitung zu validieren.
Validierung mit der isdigit() -Methode
string = "12345"print(string.isdigit()) # Truestring = "12345A"print(string.isdigit()) # False
Im obigen Beispiel ist die Zeichenfolge "12345" numerisch und die isdigit() -Methode gibt True zurück. Die Zeichenfolge "12345A" enthält jedoch den Buchstaben "A", daher gibt die Methode False zurück.
Anwenden der isdecimal() -Methode
Die Anwendung der Methode ist sehr einfach. Im Folgenden finden Sie ein Beispiel für die Überprüfung einer Zeichenfolge auf nur Dezimalstellen:
my_string = "123456"if my_string.isdecimal():print("Строка состоит только из цифр")else:print("Строка содержит другие символы")
In diesem Beispiel, wenn die Variable my_string enthält nur Dezimalstellen, wird die Meldung "Eine Zeichenfolge besteht nur aus Ziffern" angezeigt. Andernfalls wird die Meldung "Die Zeichenfolge enthält andere Zeichen" angezeigt.
Es sollte beachtet werden, dass die Methode isdecimal() zurückgeben False wenn die Zeichenfolge Zeichen enthält, die keine Dezimalstellen sind, z. B. Dezimaltrennzeichen, Interpunktionszeichen usw.
Methode isdecimal() es kann sehr nützlich sein, die Benutzereingaben zu überprüfen, beispielsweise wenn Sie sicherstellen möchten, dass der eingegebene Wert nur numerische Informationen darstellt.
Verwenden von regulären Ausdrücken
Um zu überprüfen, dass nur Zahlen in einer Zeichenfolge enthalten sind, können wir das folgende reguläre Muster verwenden: ^\d+$ . In diesem Muster steht ^ für den Anfang einer Zeichenfolge, \d steht für eine beliebige Ziffer und + gibt an, dass die Ziffer ein oder mehrere Male wiederholt werden kann. Das $ -Zeichen gibt das Ende der Zeile an.
Hier ist ein Beispiel für die Verwendung eines regulären Ausdrucks zum Überprüfen einer Zeichenfolge:
result = re.match(pattern, string)
Hier verwenden wir die Re-Funktion.match() , das versucht, die Übereinstimmung eines regulären Ausdrucks am Anfang einer Zeichenfolge zu finden. Wenn eine Übereinstimmung gefunden wird, wird ein Objekt mit Übereinstimmungsinformationen zurückgegeben, andernfalls wird None zurückgegeben.
Die Verwendung von regulären Ausdrücken ermöglicht es uns daher, Strings einfach und effizient auf nur Zahlen in Python zu überprüfen.
Die Funktion isdigit() zusammen mit der replace() -Methode
Sie können die replace() -Methode verwenden, um alle Zeichen außer Ziffern aus einer Zeichenfolge auszuschließen. Mit dieser Methode können Sie ein Zeichen oder eine Teilzeichenfolge durch ein anderes Zeichen oder eine Teilzeichenfolge ersetzen.
string = "12a34"new_string = string.replace("a", "")new_string.isdigit()# Output: True
In diesem Beispiel ersetzt die replace() -Methode das Zeichen "a" durch eine leere Zeichenfolge, und die neue new_string-Zeichenfolge besteht nur aus Ziffern. Ein nachfolgender Aufruf von isdigit() gibt True zurück .
Die Verwendung der replace() -Methode in Verbindung mit isdigit() ist eine zuverlässigere Methode, um zu überprüfen, ob nur Ziffern in einer Zeichenfolge vorhanden sind.
Verwenden der NumPy-Bibliothek, um zu überprüfen, ob nur Zahlen in einer Zeichenfolge vorhanden sind
In Python gibt es mehrere Möglichkeiten, um zu überprüfen, ob nur Zahlen in einer Zeichenfolge vorhanden sind. Betrachten Sie in diesem Artikel eine Methode, die auf der Verwendung der NumPy-Bibliothek basiert.
NumPy ist eine Python-Bibliothek, die leistungsstarke Tools für die Arbeit mit mehrdimensionalen Arrays und Matrizen bietet. Es enthält auch Funktionen zum Ausführen numerischer bezogener Operationen, einschließlich der Überprüfung der Datentypen in einem Array.
Um die NumPy-Bibliothek zu verwenden, müssen Sie sie zuerst auf Ihrem Computer installieren. Dazu können Sie das pip-Paketverwaltungssystem verwenden:
!pip install numpy
Nachdem die Bibliothek erfolgreich installiert wurde, können Sie mit der Überprüfung beginnen, ob nur Zahlen in der Zeichenfolge vorhanden sind. Dazu können Sie die Funktion numpy verwenden.isnumeric() .
Es folgt ein Codebeispiel, das die Verwendung der numpy-Funktion veranschaulicht.isnumeric() :
import numpy as npdef check_numeric_string(input_string):# Преобразуем строку в массив символовchar_array = np.array(list(input_string))# Проверяем тип данных каждого символаis_numeric = np.char.isnumeric(char_array)# Проверяем, что все символы являются числамиreturn np.all(is_numeric)
In diesem Beispiel akzeptiert die Funktion check_numeric_string() eine Zeichenfolge und konvertiert sie mithilfe der NumPy-Bibliothek in ein Zeichenarray. Sie überprüft dann den Datentyp jedes Zeichens mit der numpy-Funktion.char.isnumeric() . Schließlich mit der Numpy-Funktion.all() überprüft, ob alle Zeichen Zahlen sind. Die Funktion gibt True zurück , wenn alle Zeichen Zahlen sind, andernfalls False.
Hier ist ein Beispiel für die Verwendung der Funktion check_numeric_string() :
input_string = '12345'result = check_numeric_string(input_string)print(result) # Trueinput_string = 'abc123'result = check_numeric_string(input_string)print(result) # False
Als Ergebnis der Ausführung wird der Code ausgegeben:
TrueFalse
Daher bietet die NumPy-Bibliothek eine bequeme Möglichkeit, zu überprüfen, ob nur Zahlen in einer Zeichenfolge vorhanden sind. Diese Methode ist besonders nützlich, wenn Sie große Datenmengen überprüfen müssen, da die NumPy-Bibliothek eine hohe Leistung bietet.