Zastępowanie łańcucha Pythona za pomocą wzoru

Zastępowanie łańcucha Pythona za pomocą wzoru
Wszelkie dane łańcuchowe można zastąpić innym ciągiem w Pythonie za pomocą za pomocą Wymień () metoda. Ale jeśli chcesz zastąpić dowolną część łańcucha, dopasowując określony wzór, musisz użyć wyrażenia regularnego. Służy do wyszukiwania określonego wzorca w określonej wartości ciągu, a ciąg zostanie zastąpiony innym ciągiem, jeśli znaleziono jakikolwiek dopasowanie. Python używa 'Odnośnie' Moduł do użycia wzorca wyrażenia regularnego w skrypcie do wyszukiwania, dopasowywania lub wymiany. Używanie regularnych wzorów wyrażenia do wymiany strun jest nieco wolniej niż normalnie () Metoda, ale wiele skomplikowanych wyszukiwań i wymiany można wykonać łatwo za pomocą wzoru. Możesz wymienić ciąg na różne sposoby, używając wzoru w Pythonie. W tym samouczku pokazano niektóre powszechne zastosowania wzorca do zastąpienia ciągów. Spyder3 Edytor jest używany tutaj do pisania i uruchamiania skryptu.

Lista metacharaktów:

Przed użyciem wzoru do zastąpienia ciągu musisz znać sposób napisania wzorca wyrażenia regularnego. Możesz użyć dowolnej wartości ciągu jako wzoru dla dokładnego dopasowania. Ale w przypadku konkretnych wyszukiwania musisz napisać wzór wyrażenia regularnego za pomocą Metacharacter. Lista najczęściej używanych metacharaktów do pisania wzorców podano poniżej.

Postać Opis
. Służy do dopasowania dowolnej postaci oprócz nowej linii.
^ Służy do dopasowania dowolnego znaku lub ciągu na początku

strunowy.

$ Służy do dopasowania dowolnego znaku lub ciągu na końcu ciągu.
+ Służy do dopasowania jednego lub więcej wystąpień wzoru.
? Służy do dopasowania zero lub jednego występowania wzoru.
() Służy do grupowania wzorów.
Służy do dopasowania w oparciu o dolne lub górne lub dolne i górne i górne

limity.

[] [] Służy do dopasowania znaków na podstawie danego zakresu.
| Służy do dopasowania wzorów na podstawie lub logiki.
\ Służy do definiowania określonych znaków lub znaków niebędących znakami lub cyframi lub

nie cyfry.

Metoda wymiany:

pod() metoda 'Odnośnie' Moduł jest używany w Pythonie do wymiany struny.

Składnia:

sub (wzór, zamień, ciąg, liczba = 0, flagi = 0)

Tutaj wzór, zastępować I strunowy są obowiązkowymi argumentami. Jeśli wzór jest dopasowany do dowolnej części strunowy Następnie zastąpi część wartością zastąpienie argument. Pozostałe dwa argumenty są opcjonalne. Niektóre zastosowania wyżej wymienionych metharacterów z metodą sub () pokazano w następujących przykładach zastępowania ciągu.

Przykład-1: Wymień ciąg dokładnym dopasowaniem

Jeśli znasz dokładną wartość ciągów, którą chcesz wyszukać w głównym ciągu, możesz użyć wartości ciągu wyszukiwania jako wzoru pod() metoda. Utwórz plik Pythona z następującym skryptem. Tutaj wyszukiwanie wartości łańcucha jest „deszczowa”, a zastępująca wartość łańcucha jest „słoneczna”.

#!/usr/bin/env python3
# Importuj moduł Regex
import re
# Zdefiniuj ciąg
orgstr = "To jest deszczowy dzień"
# Wymień ciąg
repstr = re.Sub („Rainy”, „Sunny”, Orgstr)
# Wydrukuj oryginalny ciąg
Drukuj („oryginalny tekst:”, orgstr)
# Wydrukuj zastąpiony ciąg
Drukuj („Zastąpiony tekst:”, Repstr)

Wyjście:

Wyjście jest pokazane po prawej stronie obrazu.

Przykład-2: Wyszukaj i wymień ciąg na początku

Utwórz plik Python z następującym skryptem, aby poznać użycie „^” W wzorze wyrażenia regularnego. Tutaj, '^[A-za-z]+' jest używany jako wzór wyszukiwania. Będzie wyszukiwać wszystkie postacie alfabetyczne z A Do Z I A Do z Na początku tekstu i zastąp go pustą wartością. Zastąpiony ciąg zostanie wydrukowany w górach górny() metoda.

#!/usr/bin/env python3
# Importuj moduł Regex
import re
# Weź wejście ciągów
originalText = input („Wprowadź tekst \ n”)
# Wymień ciąg na podstawie wzoru
ZastąpionyText = re.Sub ('^[a-za-z]+', ", oryginalText).górny()
# Wydrukuj zastąpiony ciąg
Drukuj („Zastąpiony tekst:”, zastąpiona tekst)

Wyjście:

Wyjście jest pokazane po prawej stronie obrazu. Tutaj, „Witam, witaj w Linuxhint” jest traktowany jako dane wejściowe i 'Cześć' Słowo jest zastąpione przez " dla wzoru.

Przykład-3: Wyszukaj i wymień ciąg na końcu

Utwórz plik Pythona z następującym skryptem, aby poznać użycie '$ ' Symbol w wzorze wyrażenia regularnego. Tutaj, '[A-Z0-9]+$„jest używany jako wzór w skrypcie. Na końcu tekstu będzie przeszukiwać wszystkie małe alfabety i cyfry, a jeśli zwróci się, wówczas pasująca część zostanie zastąpiona ciągiem ''com.Bd'.

#!/usr/bin/env python3
# Importuj moduł Regex
import re
# Weź wejście ciągów
originalText = input („Wprowadź adres URL \ n”)
# Wymień ciąg na podstawie wzoru
ZastąpionyText = re.sub ('[a-Z0-9]+$', 'com.Bd ', oryginałowy)
# Wydrukuj zastąpiony ciąg
Drukuj („Zastąpiony tekst:”, zastąpiona tekst)

Wyjście:

Wyjście jest pokazane po prawej stronie obrazu. Tutaj „https: // www.Google.com 'jest traktowany jako tekst wejściowy i po wymianie' https: // www.Google.com.BD 'jest drukowane jako wyjście.

Przykład-4: Wyszukaj i wymień określoną część ciągu

Utwórz plik Python z następującym skryptem, aby wyszukać i zastąpić część tekstu w miejscu, w którym pasuje wzór. Tutaj lista adresów e -mail jest przypisywana jako tekst do wymienionej zmiennej e -maile. „@[a-z]” jest używany do wyszukiwania. Wyszukuje dowolne podtrur zaczyna się od małych alfabetów, a następnie „@„Symbol. Jeśli jakakolwiek substring będzie pasować, zastąpi to podtreping przez '@linuxhint'.

#!/usr/bin/env python3
# Importuj moduł Regex
import re
# Zdefiniuj ciąg
e -maile = '\ [email protected] \ [email protected] \ [email protected] '
# Wymień określoną część łańcucha na podstawie wzoru
ZastąpionyText = re.sub ('@[a-z]*', '@linuxhint', e-maile)
# Wydrukuj oryginalny ciąg
drukuj („oryginalny tekst:”, e -maile)
# Wydrukuj zastąpiony ciąg
drukuj („\ nreplaced Text:”, zastąpiona)

Wyjście:

Wyjście jest pokazane po prawej stronie obrazu. Tutaj każda część domeny adresu e -mail przypisanego w tekście jest zastąpiona przez 'Linuxhint'.

Wniosek:

Niektóre bardzo powszechne zastosowania wzorców wyrażeń regularnych pokazano w tym samouczku do wymiany ciągów. W Python istnieje wiele innych opcji, aby pisać różne typy prostych i skomplikowanych wzorów do wyszukiwania i wymiany ciągów tekstu.

Obejrzyj wideo autora: tutaj