⊗pyPmREMSP 58 of 129 menu

Kieszenie w ciągu zastępowania w Pythonie

Podczas pracy z metodą sub, jeśli coś trzeba umieścić w kieszeni w wyrażeniu regularnym, to w ciągu zastępowania można wstawić zawartość tej kieszeni pisząc podwójny ukośnik \ i numer kieszeni. Na przykład, \1 - pierwsza kieszeń, \2 - druga kieszeń i tak dalej.

Po co to jest potrzebne i jak z tego korzystać przyjrzyjmy się na przykładach.

Przykład

Znajdźmy wszystkie liczby i zamiast nich wstawmy te same liczby, ale w nawiasach okrągłych. Aby to zrobić, wszystkie znalezione liczby zamieńmy na nie same, ale w nawiasach:

txt = '1 23 456 xax' res = re.sub('(\d+)', '(\1)', txt) print(res)

W rezultacie do zmiennej zapisze się następujące:

'(1) (23) (456) xax'

Przykład

Znajdźmy wszystkie ciągi znaków, reprezentujące sobie liczby z iksami dookoła i zamieńmy te liczby na nie same, ale z '!' znakami dookoła:

txt = 'x1x x23x x456x xax' res = re.sub('x(\d+)x', '!\1!', txt) print(res)

W rezultacie do zmiennej zapisze się następujące:

'!1! !23! !456! xax'

Przykład

Rozwiążmy następujące zadanie: dany jest ciąg znaków 'aaa@bbb ccc@ddd' - litery, potem małpa, potem litery. Należy zamienić miejscami litery w podciągu 'aaa@bbb' przed '@' i po:

txt = 'aaa@bbb ccc@ddd' res = re.sub('([a-z]+)@([a-z]+)', '\2@\1', txt) print(res)

W rezultacie do zmiennej zapisze się następujące:

'bbb@aaa ccc@ddd'

Zadania praktyczne

Dany jest ciąg znaków:

txt = '12 34 56 78'

Zamień miejscami cyfry we wszystkich dwucyfrowych liczbach.

Dany jest ciąg znaków z datą:

txt = '31.12.2025'

Przekształć tę datę na '2025.12.31'.

Polski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wykorzystujemy pliki cookie do działania strony, analizy i personalizacji. Przetwarzanie danych odbywa się zgodnie z Polityką prywatności.
zaakceptuj wszystkie dostosuj odrzuć