Pyton

Wymiana ciągów w Pythonie za pomocą wzorca

Wymiana ciągów w Pythonie za pomocą wzorca
Wszelkie dane ciągu można zastąpić innym ciągiem w Pythonie za pomocą by zamień() metoda. Ale jeśli chcesz zastąpić dowolną część ciągu przez dopasowanie określonego wzorca, 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 zostanie znalezione jakiekolwiek dopasowanie. Używa Pythona 're' moduł do używania wzorca wyrażenia regularnego w skrypcie do wyszukiwania lub dopasowywania lub zastępowania. Używanie wzorców wyrażeń regularnych do zamiany ciągów jest nieco wolniejsze niż zwykła metoda replace() ale wiele skomplikowanych wyszukiwań i zamian można łatwo wykonać za pomocą wzorca. Możesz zastąpić ciąg na różne sposoby, używając wzorca w Pythonie. W tym samouczku pokazano kilka typowych zastosowań wzorca do zastępowania ciągów. Spyder3 edytor służy tutaj do pisania i uruchamiania skryptu.

Lista metaznaków:

Zanim użyjesz wzorca do zastąpienia łańcucha, musisz znać sposób na napisanie wzorca wyrażenia regularnego. Możesz użyć dowolnej wartości ciągu jako wzorca dla dokładnego dopasowania. Ale dla konkretnego wyszukiwania musisz napisać wzorzec wyrażenia regularnego za pomocą metaznaku. Lista najczęściej używanych metaznaków do pisania wzorów jest podana poniżej ze znaczeniem.

    Postać  Opis
    .  Służy do dopasowywania dowolnego pojedynczego znaku z wyjątkiem 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ń wzorca.
    ?  Służy do dopasowania zera lub jednego wystąpienia wzorca.
   ( )  Służy do grupowania wzorów.
   Służy do dopasowania na podstawie dolnej lub górnej części lub jednocześnie dolnej i górnej

granice.

   [ ]  Służy do dopasowywania znaków na podstawie podanego zakresu.
   |  Służy do dopasowywania wzorców w oparciu o logikę OR.
   \  Służy do definiowania określonych znaków lub znaków niebędących znakami lub cyframi lub

niecyfry.

Wymień metodę:

pod() metoda 're' moduł jest używany w Pythonie do wymiany ciągów.

Składnia:

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

Tutaj wzór, zastąpić i strunowy są obowiązkowymi argumentami. Jeśli wzór pasuje do dowolnej części strunowy wtedy zamieni część na wartość wymiana argument. Pozostałe dwa argumenty są opcjonalne. Niektóre zastosowania wyżej wymienionych metaznaków w metodzie sub() są pokazane w poniższych przykładach zamiany ciągów.

Przykład-1: Zamień ciąg na dopasowanie ścisłe

Jeśli znasz dokładną wartość ciągu, który chcesz przeszukać w głównym ciągu, możesz użyć wartości ciągu wyszukiwania jako wzorca w pod() metoda. Utwórz plik Pythona za pomocą następującego skryptu. W tym przypadku wyszukiwana wartość ciągu to „deszcz”, a zastępująca wartość ciągu to „słoneczny”.

#!/usr/bin/env python3
# Importuj moduł regex
importuj ponownie
# Zdefiniuj ciąg
orgStr = "Jest deszczowy dzień"
# Zastąp ciąg
repStr = re.sub("deszczowy", "słoneczny", orgStr)
# Wydrukuj oryginalny ciąg
print("Oryginalny tekst:", orgStr)
# Wydrukuj zastąpiony ciąg
print("Zastąpiony tekst:", repStr)

Wynik:

Dane wyjściowe są pokazane po prawej stronie obrazu.

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

Utwórz plik Pythona za pomocą następującego skryptu, aby poznać użycie '^' we wzorcu wyrażenia regularnego. Tutaj '^[A-Za-z]+' jest używany jako wzorzec wyszukiwania. Przeszuka wszystkie znaki alfabetyczne z ZA do Z i za do z na początku tekstu i zastąp go pustą wartością. Zastąpiony ciąg zostanie wydrukowany wielkimi literami dla górny() metoda.

#!/usr/bin/env python3
# Importuj moduł regex
importuj ponownie
# Wprowadź ciąg znaków
originalText = input("Wprowadź tekst\n")
# Wymień ciąg na podstawie wzorca
zamienionyTekst = re.sub('^[A-Za-z]+' , ", oryginalnyTekst).górny()
# Wydrukuj zastąpiony ciąg
print("Zastąpiony tekst:", zamienionyTekst)

Wynik:

Dane wyjściowe są pokazane po prawej stronie obrazu. Tutaj, 'Witaj, witaj w linuxhint' jest przyjmowany jako dane wejściowe i 'Cześć' słowo jest zastąpione przez " dla wzoru.

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

Utwórz plik Pythona za pomocą następującego skryptu, aby poznać użycie „$' symbol we wzorcu wyrażenia regularnego. Tutaj „[a-z0-9]+$' jest używany jako wzorzec w skrypcie. Przeszuka wszystkie małe litery i cyfry na końcu tekstu, a jeśli zwróci true, pasująca część zostanie zastąpiona ciągiem 'com.bd'.

#!/usr/bin/env python3
# Importuj moduł regex
importuj ponownie
# Wprowadź ciąg znaków
originalText = input("Wprowadź adres URL\n")
# Wymień ciąg na podstawie wzorca
zamienionyTekst = re.sub('[a-z0-9]+$' , 'com.bd', oryginalnyTekst)
# Wydrukuj zastąpiony ciąg
print("Zastąpiony tekst:", zamienionyTekst)

Wynik:

Dane wyjściowe są pokazane po prawej stronie obrazu. Tutaj, „https://www.Google.com” jest przyjmowany jako tekst wejściowy, a po zastąpieniu, „https://www.Google.com.bd' jest wypisywane jako wyjście.

Przykład 4: Wyszukaj i zamień konkretną część ciągu

Utwórz plik Pythona za pomocą poniższego skryptu, aby wyszukać i zastąpić część tekstu w miejscu, w którym pasuje wzorzec. Tutaj lista adresów e-mail jest przypisywana jako tekst do zmiennej o nazwie e-maile. '@[a-z]' jest używanym wzorcem wyszukiwania. Przeszuka każdy podciąg rozpoczynający się małymi literami, po których następuje '@„symbol”. Jeśli jakikolwiek podciąg pasuje, zastąpi ten podciąg przez 'hin'.

#!/usr/bin/env python3
# Importuj moduł regex
importuj ponownie
# Zdefiniuj ciąg
emails = '\n[email chroniony] \n[email chroniony] \n[email chroniony]'
# Zastąp konkretną część ciągu na podstawie wzorca
zamienionyTekst = re.sub('@[a-z]*', '@linuxhint', e-maile)
# Wydrukuj oryginalny ciąg
print("Oryginalny tekst:", e-maile)
# Wydrukuj zastąpiony ciąg
print("\nZastąpiony tekst:", zamieniony tekst)

Wynik:

Dane wyjściowe są pokazane po prawej stronie obrazu. Tutaj każda część domeny adresu e-mail przypisanego w tekście jest zastępowana przez „linuxhint'.

Wniosek:

W tym samouczku pokazano kilka bardzo powszechnych zastosowań wzorców wyrażeń regularnych do zamiany ciągów. W pythonie istnieje wiele innych opcji pisania różnych typów prostych i skomplikowanych wzorców wyszukiwania i zastępowania ciągu tekstu.

Obejrzyj wideo autora: tutaj

Gry Jak wyświetlić nakładkę OSD w pełnoekranowych aplikacjach i grach dla systemu Linux?
Jak wyświetlić nakładkę OSD w pełnoekranowych aplikacjach i grach dla systemu Linux?
Granie w gry pełnoekranowe lub korzystanie z aplikacji w trybie pełnoekranowym bez rozpraszania uwagi może odciąć Cię od istotnych informacji systemow...
Gry 5 najlepszych kart do przechwytywania gier
5 najlepszych kart do przechwytywania gier
Wszyscy widzieliśmy i uwielbialiśmy strumieniowe rozgrywki na YouTube on. PewDiePie, Jakesepticye i Markiplier to tylko niektórzy z najlepszych graczy...
Gry Jak stworzyć grę na Linuksie
Jak stworzyć grę na Linuksie
Dziesięć lat temu niewielu użytkowników Linuksa przewidywało, że ich ulubiony system operacyjny pewnego dnia stanie się popularną platformą do gier dl...