Python-Strings sind Zeichenfolgen, die Informationen oder Daten darstellen. Normale Zeichenfolgen können verschiedene Zeichen in einfachen oder doppelten Anführungszeichen enthalten, alphanumerische Zeichenfolgen enthalten jedoch nurZahlenundBuchstaben. Sowohlalphanumerischeals auchnicht-alphanumerischeZeichenfolgen werden in verschiedenen Szenarien verwendet und angewendet, einschließlich Passwortschutz, Datenverarbeitung und -überprüfung, Formatierung usw.
Kann spezifische Muster identifizieren und extrahieren. Wir können mit diesen Saitentypen auch verschiedene Kombinationen anbieten. Wir werden Operationen basierend auf diesen Zeichenfolgen ausführen. Unsere Aufgabe besteht darin, die Zeichenfolge zu extrahieren, bis das erste nicht-alphanumerische Zeichen gefunden wird.
Wir müssen die Teilzeichenfolge aus der Originalzeichenfolge extrahieren, bevor wir auf nicht-alphanumerische Zeichen stoßen. Lassen Sie uns dies anhand eines Beispiels verstehen.
Betrachten wir ein Wörterbuch mit den folgenden Werten -
Input: Inp_STR = "Sales18@22!Roam"
Die angegebene Zeichenfolge besteht aus Buchstaben, Zahlen und Sonderzeichen. Sobald wir auf ein nicht alphanumerisches Zeichen stoßen, müssen wir die Teilzeichenfolge abrufen.
Output: Sales18
Wir können sehen, dass eine Teilzeichenfolge „Sales18“ aus der ursprünglichen Zeichenfolge zurückgegeben wird, da danach ein nicht alphanumerisches Zeichen angetroffen wird, nämlich „@“. Nachdem wir nun die Problemstellung verstanden haben, besprechen wir einige Lösungen.
Dies ist die grundlegende und einfachere Möglichkeit, eine Zeichenfolge basierend auf den bereitgestellten Kriterien zu extrahieren. Wir übergeben einen String und erstellen eine neue Variable, die alle alphanumerischen Zeichen speichert, also Buchstaben (Groß- und Kleinbuchstaben) und Zahlen. Danach gehen wir die ursprüngliche Zeichenfolge durch und durchlaufen jedes Zeichen.
Wir erstellen eine Bedingung, um zu prüfen, ob die Zeichen in der Originalzeichenfolge alphanumerisch sind. Sobald ein nicht alphanumerisches Zeichen gefunden wird, wird die Schleife unterbrochen und die Teilzeichenfolge zurückgegeben.
Hier ist ein Beispiel für das Extrahieren einer Zeichenfolge bis zum ersten nicht-alphanumerischen Zeichen -
Inp_STR = "Sales18@22Roam" print(f"The original string is: {Inp_STR}") ExSTR = "" alphaNum = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890" for x in Inp_STR: if x not in alphaNum: break else: ExSTR += x print(f"The extracted string till 1st Non-Alphanumeric character: {ExSTR}")
The original string is: Sales18@22Roam The extracted string till 1st Non-Alphanumeric character: Sales18
Regex-Modul oder „re“-Modul ist ein leistungsstarkes Programmiertool zum Suchen und Abgleichen von Mustern. Diese Muster werden in Form eindeutiger Ausdrücke übergeben. Mit diesem Modul erkennen wir nicht-alphanumerische Muster in Rohzeichenfolgen und rufen die erste gefundene Sequenz ab. Wir verwenden die Funktion „search()“, um eine Zeichenfolge nach einem nicht-alphanumerischen Muster zu durchsuchen, das durch den Ausdruck „W+“ dargestellt wird.
"W" gibt nicht-alphanumerische Klassen an und „+“ legt die kontinuierliche Übereinstimmungslogik für nicht-alphanumerische Zeichen fest.Die Methode „.start()“ gibt den Startindex des passenden Teilstrings zurück, dessen Indexwert zum Abrufen des gewünschten Teilstrings verwendet wird.
Hier ist ein Beispiel -
import re Inp_STR = "Sales18@22Roam" print(f"The original string is: {Inp_STR}") ExSTR = re.search(r"\W+", Inp_STR).start() print(f"The 1st non-alphanumeric character is encountered at: {ExSTR}") ExSTR = Inp_STR[ : ExSTR] print(f"The extracted string till 1st Non-Alphanumeric character: {ExSTR}")
The original string is: Sales18@22Roam The 1st non-alphanumeric character is encountered at: 7 The extracted string till 1st Non-Alphanumeric character: Sales18
Dies ist eine weitere Möglichkeit, die Zeichenfolge zu extrahieren, bis das erste nicht-alphanumerische Zeichen gefunden wird. Bei diesem Ansatz verwenden wir die Funktion „findall()“ aus dem re-Modul, um alle Vorkommen einer Teilzeichenfolge zu finden, die aus alphanumerischen Zeichen besteht.
erhält eine Liste übereinstimmender Teilzeichenfolgen und wir rufen die erste Teilzeichenfolge mithilfe des Indexwerts „0“ ab. Wir verwenden den regulären Ausdruck: „[dA-Za-z]*“, der null oder mehr alphanumerische Zeichen in einer Zeile darstellt.
Reguläre Ausdrucksnotation „d“ entspricht jeder Zahl zwischen 0 und 9, „A-Z“ entspricht jedem Großbuchstaben zwischen A und Z, „a-z< /b>“ entspricht jedem Kleinbuchstaben zwischen a und z.
Hier ist ein Beispiel -
import re Inp_STR = "Sales18@22Roam" print(f"The original string is: {Inp_STR}") ExSTR = re.findall(r"[\dA-Za-z]*", Inp_STR)[0] print(f"The extracted string till 1st Non-Alphanumeric character: {ExSTR}")
The original string is: Sales18@22Roam The extracted string till 1st Non-Alphanumeric character: Sales18
Bei dieser Methode iterieren wir den Index jedes Zeichens in der Originalzeichenfolge und erstellen eine Bedingung, um zu prüfen, ob das Zeichen am Index „x“ nicht alphanumerisch ist. Dies geschieht mit Hilfe der Methode „isalnum()“, die die alphanumerische Natur der Zeichenfolge bestimmt. Danach extrahieren wir mithilfe von List-Slicing die Zeichenfolge bis zum ersten alphanumerischen Zeichen.
Hier ist ein Beispiel -
Inp_STR = "Sales18@22Roam" print(f"The original string is: {Inp_STR}") for x in range(len(Inp_STR)): if not Inp_STR[x].isalnum(): ExSTR = Inp_STR[:x] print(f"The 1st non-alphanumeric character is encountered at: {x}") break else: ExSTR = Inp_STR print(f"The extracted string till 1st Non-Alphanumeric character: {ExSTR}")
The original string is: Sales18@22Roam The 1st non-alphanumeric character is encountered at: 7 The extracted string till 1st Non-Alphanumeric character: Sales18
In diesem Artikel haben wir einige effiziente und optimierte Lösungen zum Extrahieren einer Teilzeichenfolge aus einer Zeichenfolge besprochen, wenn das erste nicht-alphanumerische Zeichen angetroffen wird. Wir verstehen sowohl einfache und grobe Lösungen als auch fortgeschrittene und optimierte Lösungen. Wir verwenden das reguläre Ausdrucksmodul und verwenden seine Funktionen „search()“ und „findall()“, um relevante Zeichenfolgen zu extrahieren. Abschließend haben wir eine weitere Lösung besprochen, die auf Listen-Slicing basiert und die Verwendung der Methode „isalnum()“ beinhaltet.
Das obige ist der detaillierte Inhalt vonPython-Programm zum Extrahieren von Zeichenfolgen bis zum ersten nicht-alphanumerischen Zeichen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!