Heim > Backend-Entwicklung > Python-Tutorial > Python-Programm zum Extrahieren von Zeichenfolgen bis zum ersten nicht-alphanumerischen Zeichen

Python-Programm zum Extrahieren von Zeichenfolgen bis zum ersten nicht-alphanumerischen Zeichen

王林
Freigeben: 2023-09-11 12:49:02
nach vorne
1452 Leute haben es durchsucht

Python-Programm zum Extrahieren von Zeichenfolgen bis zum ersten nicht-alphanumerischen Zeichen

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 nur Zahlen und Buchstaben. Sowohl alphanumerische als auch nicht-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.

Das Problem verstehen

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.

Eingabe- und Ausgabeszenarien

Betrachten wir ein Wörterbuch mit den folgenden Werten -

Input: Inp_STR = "Sales18@22!Roam"
Nach dem Login kopieren

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
Nach dem Login kopieren

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.

Iteration verwenden

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.

Beispiel

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}")
Nach dem Login kopieren

Ausgabe

The original string is: Sales18@22Roam
The extracted string till 1st Non-Alphanumeric character: Sales18
Nach dem Login kopieren
Nach dem Login kopieren

Verwenden Sie das Modul für reguläre Ausdrücke + Search()

Das

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.

Beispiel

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}")
Nach dem Login kopieren

Ausgabe

The original string is: Sales18@22Roam
The 1st non-alphanumeric character is encountered at: 7
The extracted string till 1st Non-Alphanumeric character: Sales18
Nach dem Login kopieren
Nach dem Login kopieren

Verwenden Sie das Regex-Modul + Findall()

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.

Beispiel

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}")
Nach dem Login kopieren

Ausgabe

The original string is: Sales18@22Roam
The extracted string till 1st Non-Alphanumeric character: Sales18
Nach dem Login kopieren
Nach dem Login kopieren

Verwenden Sie die Isalnum()-Methode

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.

Beispiel

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}")
Nach dem Login kopieren

Ausgabe

The original string is: Sales18@22Roam
The 1st non-alphanumeric character is encountered at: 7
The extracted string till 1st Non-Alphanumeric character: Sales18
Nach dem Login kopieren
Nach dem Login kopieren

Fazit

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!

Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage