Python

Python-String-Ersetzung mit Pattern

Python-String-Ersetzung mit Pattern
Alle Zeichenfolgendaten können in Python durch eine andere Zeichenfolge ersetzt werden, indem das ersetzen() Methode. Wenn Sie jedoch einen Teil der Zeichenfolge ersetzen möchten, indem Sie ein bestimmtes Muster abgleichen, müssen Sie einen regulären Ausdruck verwenden. Es wird verwendet, um ein bestimmtes Muster in einem bestimmten String-Wert zu suchen, und der String wird durch einen anderen String ersetzt, wenn eine Übereinstimmung gefunden wird. Python verwendet 'Re' Modul zum Verwenden von Mustern für reguläre Ausdrücke im Skript zum Suchen, Abgleichen oder Ersetzen. Die Verwendung von Mustern für reguläre Ausdrücke zum Ersetzen von Strings ist etwas langsamer als die normale replace()-Methode, aber viele komplizierte Suchen und Ersetzen können mithilfe des Musters leicht durchgeführt werden. Sie können einen String auf verschiedene Weise ersetzen, indem Sie das Muster in Python verwenden. Einige häufige Verwendungen von Mustern zum Ersetzen von Zeichenfolgen werden in diesem Tutorial gezeigt. Spyder3 Editor wird hier verwendet, um das Skript zu schreiben und auszuführen.

Liste der Metazeichen:

Bevor Sie das Muster zum Ersetzen von Zeichenfolgen verwenden, müssen Sie wissen, wie Sie ein Muster für einen regulären Ausdruck schreiben. Sie können einen beliebigen String-Wert als Muster für die genaue Übereinstimmung verwenden. Aber für die spezifische Suche müssen Sie das Muster des regulären Ausdrucks mithilfe von Metazeichen schreiben. Die Liste der am häufigsten verwendeten Metazeichen zum Schreiben von Mustern ist unten mit Bedeutung angegeben.

    Charakter  Beschreibung
    .  Es wird verwendet, um jedes einzelne Zeichen außer einem Zeilenumbruch abzugleichen.
    ^  Es wird verwendet, um ein beliebiges Zeichen oder eine Zeichenfolge am Anfang des . abzugleichen

Schnur.

    $  Es wird verwendet, um ein beliebiges Zeichen oder eine beliebige Zeichenfolge am Ende der Zeichenfolge abzugleichen.
    +  Es wird verwendet, um ein oder mehrere Vorkommen des Musters abzugleichen.
    ?  Es wird verwendet, um null oder ein Vorkommen des Musters abzugleichen.
   ( )  Es wird zum Gruppieren von Mustern verwendet.
   Es wird verwendet, um basierend auf unterer oder oberer oder sowohl unterer als auch oberer abzugleichen

Grenzen.

   [ ]  Es wird verwendet, um Zeichen basierend auf dem angegebenen Bereich abzugleichen.
   |  Es wird verwendet, um Muster basierend auf der ODER-Logik abzugleichen.
   \  Es wird verwendet, um bestimmte Zeichen oder Nichtzeichen oder Ziffern zu definieren oder

Nicht-Ziffern.

Methode ersetzen:

sub() Methode von 'Re' -Modul wird in Python für den String-Ersatz verwendet.

Syntax:

sub(muster, ersetzen, string, count=0, flags=0)

Hier Muster, ersetzen und Schnur sind zwingende Argumente. Wenn die Muster ist mit jedem Teil des Schnur dann ersetzt es das Teil durch den Wert von replace Ersetzen der Streit. Die anderen beiden Argumente sind optional. Einige Verwendungen der oben genannten Metazeichen mit der Methode sub() werden in den folgenden Beispielen zum Ersetzen von Strings gezeigt shown.

Beispiel-1: String durch exakte Übereinstimmung ersetzen

Wenn Sie den genauen Stringwert kennen, den Sie im Hauptstring suchen möchten, können Sie den Suchstringwert als Muster in use verwenden sub() Methode. Erstellen Sie eine Python-Datei mit dem folgenden Skript. Hier ist der Suchstringwert 'regnerisch' und der ersetzende Stringwert ist 'sonnig'.

#!/usr/bin/env python3
# Regex-Modul importieren
Importieren
# Definiere eine Zeichenfolge
orgStr = "Es ist ein regnerischer Tag"
# Ersetze die Zeichenfolge
repStr = re.sub("regnerisch", "sonnig", orgStr)
# Drucken Sie die Originalzeichenfolge
print("Originaltext:", orgStr)
# Drucken Sie die ersetzte Zeichenfolge
print("Ersetzter Text:", repStr)

Ausgabe:

Die Ausgabe wird auf der rechten Seite des Bildes angezeigt.

Beispiel-2: String am Anfang suchen und ersetzen

Erstellen Sie eine Python-Datei mit dem folgenden Skript, um die Verwendung von zu kennen '^' im Muster des regulären Ausdrucks. Hier, '^[A-Za-z]+' wird als Suchmuster verwendet. Es durchsucht alle alphabetischen Zeichen von EIN zu Z und ein zu z am Anfang des Textes und ersetzen Sie ihn durch einen leeren Wert. Die ersetzte Zeichenfolge wird in Großbuchstaben gedruckt für Oberer, höher() Methode.

#!/usr/bin/env python3
# Regex-Modul importieren
Importieren
# Nehmen Sie eine String-Eingabe vor
originalText = input("Geben Sie einen Text ein\n")
# Ersetze den String basierend auf dem Muster
ersetztText = re.sub('^[A-Za-z]+' , ", originalText).Oberer, höher()
# Drucken Sie die ersetzte Zeichenfolge
print("Ersetzter Text:", ersetzterText)

Ausgabe:

Die Ausgabe wird auf der rechten Seite des Bildes angezeigt. Hier, 'Hallo, willkommen bei Linuxhint' wird als Eingabe genommen und 'Hallo' Wort wird ersetzt durch " für das Muster.

Beispiel-3: String am Ende suchen und ersetzen

Erstellen Sie eine Python-Datei mit dem folgenden Skript, um die Verwendung von '$' Symbol im Muster eines regulären Ausdrucks. Hier, '[a-z0-9]+$' wird im Skript als Muster verwendet. Es werden alle kleinen Alphabete und Ziffern am Ende des Textes durchsucht und wenn true zurückgegeben wird, wird der übereinstimmende Teil durch die Zeichenfolge 'com.bd'.

#!/usr/bin/env python3
# Regex-Modul importieren
Importieren
# Nehmen Sie eine String-Eingabe vor
originalText = input("Geben Sie eine URL-Adresse ein\n")
# Ersetze den String basierend auf dem Muster
ersetztText = re.sub('[a-z0-9]+$' , 'com.bd', Originaltext)
# Drucken Sie die ersetzte Zeichenfolge
print("Ersetzter Text:", ersetzterText)

Ausgabe:

Die Ausgabe wird auf der rechten Seite des Bildes angezeigt. Hier, 'https://www.Google.com“ wird als Eingabetext verwendet und nach dem Ersetzen „https://www.Google.com.bd' wird als Ausgabe gedruckt.

Beispiel-4: Suchen und Ersetzen des bestimmten Teils einer Zeichenfolge

Erstellen Sie eine Python-Datei mit dem folgenden Skript, um den Textteil an der Stelle zu suchen und zu ersetzen, an der das Muster übereinstimmt pattern. Hier wird der Variablen namens email eine Liste von E-Mail-Adressen als Text zugewiesen E-Mails. '@[a-z]' wird als Suchmuster verwendet. Es wird jede Unterzeichenfolge durchsucht, die mit kleinen Alphabeten beginnt, gefolgt von '@'symbol. Wenn eine Teilzeichenfolge übereinstimmt, wird diese Teilzeichenfolge durch '@linuxhint'.

#!/usr/bin/env python3
# Regex-Modul importieren
Importieren
# Definiere eine Zeichenfolge
emails = '\n[E-Mail geschützt] \n[E-Mail geschützt] \n[E-Mail geschützt]'
# Ersetzen Sie den bestimmten Teil der Zeichenfolge basierend auf dem Muster
ersetztText = re.sub('@[a-z]*', '@linuxhint', E-Mails)
# Drucken Sie die Originalzeichenfolge
print("Originaltext:", E-Mails)
# Drucken Sie die ersetzte Zeichenfolge
print("\nErsetzter Text:", ersetzterText)

Ausgabe:

Die Ausgabe wird auf der rechten Seite des Bildes angezeigt. Hier wird jeder Domänenteil der im Text zugewiesenen E-Mail-Adresse durch 'linuxhint'.

Fazit:

In diesem Tutorial werden einige sehr gebräuchliche Verwendungen der Muster für reguläre Ausdrücke zum Ersetzen von Zeichenfolgen gezeigt shown. In Python gibt es viele andere Optionen, um verschiedene Arten von einfachen und komplizierten Mustern zum Suchen und Ersetzen der Textzeichenfolge zu schreiben.

Video des Autors ansehen: hier

AppyMouse On-Screen Trackpad und Mauszeiger für Windows Tablets
Tablet-Benutzer vermissen oft den Mauszeiger, insbesondere wenn sie die Laptops gewohnt sind. Die Touchscreen-Smartphones und -Tablets bieten viele Vo...
Mittlere Maustaste funktioniert nicht unter Windows 10
Das mittlere Maustaste hilft Ihnen beim Scrollen durch lange Webseiten und Bildschirme mit vielen Daten. Wenn das aufhört, werden Sie am Ende die Tast...
So ändern Sie die linke und rechte Maustaste auf einem Windows 10-PC
Es ist ganz normal, dass alle Computer-Maus-Geräte ergonomisch für Rechtshänder gestaltet sind. Es gibt aber auch Mausgeräte, die speziell für Linkshä...