Python je vysokoúrovňový, univerzálny programovací jazyk s dôrazom na čitateľnosť kódu. Podporuje rôzne programovacie paradigmy, napríklad štruktúrované, objektovo orientované a funkcionálne programovanie. Python je často opisovaný ako “batteries included”, vďaka svojej bohatej štandardnej knižnici.
V tomto návode sa naučíme rôzne spôsoby, ako odstrániť biele znaky z reťazca v Pythone.
Požiadavky
Na vykonanie krokov demonštrovaných v tomto návode budete potrebovať nasledujúce komponenty:
-
- Správne nakonfigurovaný počítač s Linuxom, napríklad Ubuntu VPS na CloudSigma.
-
- Správne nakonfigurované vývojové prostredie pre Python. Pozrite si konfiguráciu vývojového prostredia Python na Ubuntu.
-
- Vhodný textový editor, napríklad Brackets, VS Code, Sublime Text, Vim/NeoVim atď.
Krok 1 – Vytvorenie Python skriptu
Na demonštračné účely vytvoríme Python skript remove-space.py a vložíme tam všetky naše kódy. Potom skript spustíme pomocou interpretra Pythonu.
Najprv vytvorte Python skript:
|
1 |
touch remove-space.py |

Otvorte skript v textovom editore:
|
1 |
nano remove-space.py |

Ďalej vytvoríme reťazcovú premennú s a priradíme jej reťazec:
|
1 |
s = ' the quick BROWN fox \t\n\r\tjumps away ' |

Ak zahrnieme funkciu print(), môžeme vidieť, ako je reťazec interpretovaný:
|
1 2 |
s = ' the quick BROWN fox \t\n\r\tjumps away ' print(s) |

Tu,
-
- Funkcia
print()prijíma reťazec ako argument.
- Funkcia
-
- Funkcia
print()dokáže interpretovať znaky so spätnou lomkou.
- Funkcia
Spustite skript:
|
1 |
python remove-space.py |

Krok 2 – Odstránenie úvodných a koncových medzier
Pomocou funkcie strip() môžeme odstrániť úvodné a koncové znaky reťazca.
Nasledujúci kód demonštruje použitie funkcie strip() na premennej s:
|
1 2 |
s = ' the quick BROWN fox \t\n\r\tjumps away ' print(s.strip()) |


Upozorňujeme, že funkcia strip() odstraňuje všetky úvodné a koncové medzery. Ak chcete odstrániť iba úvodné alebo koncové medzery, použite lstrip() alebo rstrip() :
|
1 2 3 4 5 |
s = ' the quick BROWN fox \t\n\r\tjumps away ' print(s.strip()) print(s.lstrip()) print(s.rstrip()) |


Krok 3 – Odstránenie všetkých bielych znakov
Pomocou funkcie replace() môžeme nahradiť obsah v reťazci. Využitím tejto funkcie môžeme nahradiť všetky biele znaky ničím, čím ich odstránime.
Poďme použiť funkciu replace() v praxi. Pozrite si nasledujúci kód:
|
1 2 3 |
s = ' the quick BROWN fox \t\n\r\tjumps away ' print(s.replace(" ", "")) |


Tu,
-
- Prvý parameter funkcie
replace()určuje, aký vzor sa má v danom reťazci hľadať.
- Prvý parameter funkcie
-
- Druhý parameter funkcie
replace()určuje, aký bude náhradný obsah.
- Druhý parameter funkcie
Krok 4 – Odstránenie bielych znakov pomocou split() a join()
V tejto časti použijeme funkcie split() a join() .
-
split(): Prijíma reťazec a rozdeľuje ho na zoznam. Body rozdelenia sú určené oddeľovačom.
-
join(): Vezme zoznam a spojí ho späť do jedného reťazca. Časti sú spojené pomocou jedného bieleho znaku (” “).
Poďme tieto funkcie použiť v praxi. Pozrite si nasledujúci kód:
|
1 2 3 |
s = ' the quick BROWN fox \t\n\r\tjumps away ' print(" ".join(s.split())) |


Tu,
-
- Skombinovali sme použitie
split(),join(), aprint()v jednom riadku.
- Skombinovali sme použitie
-
- Výstup funkcie
split()sa odovzdá ako argument pre funkciujoin().
- Výstup funkcie
-
- Výstup funkcie
join()funkcia sa odovzdáva ako argument preprint()funkciu.
- Výstup funkcie
Krok 5 – Odstránenie bielych znakov pomocou translate()
V Pythone funkcia translate() nahrádza špecifikované znaky znakmi definovanými v slovníku alebo mapovacej tabuľke.
V tomto príklade použijeme slovník string.whitespace, ktorý obsahuje všetky biele znaky.
Pozrite sa na nasledujúci kód:
|
1 2 3 4 5 |
import string s = ' the quick BROWN fox \t\n\r\tjumps away ' print(s.translate({ord(c): None for c in string.whitespace})) |


Krok 6 – Odstránenie bielych znakov pomocou regulárnych výrazov
Regulárny výraz (skrátene “regex”) je silný nástroj v mnohých programovacích jazykoch. Každý regulárny výraz sa skladá zo série znakov, ktoré vytvárajú vyhľadávací vzor. Regulárny výraz sa dá použiť na kontrolu, či reťazec obsahuje špecifikovaný vzor.
Python tiež podporuje regex, čo výrazne zlepšuje jeho možnosti manipulácie s textom. V tejto časti použijeme regex na odstránenie akéhokoľvek bieleho znaku v našom testovacom reťazci.
Pozrite sa na nasledujúci kód:
|
1 2 3 4 5 6 7 8 9 10 11 |
import re s = ' the quick BROWN fox \t\n\r\tjumps away ' print('Odstrániť všetky medzery:\n', re.sub(r"\s+", "", s), sep='') # \s zodpovedá všetkým bielym znakom print('Odstrániť počiatočné medzery:\n', re.sub(r"^\s+", "", s), sep='') # ^ zodpovedá začiatku print('Odstrániť koncové medzery:\n', re.sub(r"\s+$", "", s), sep='') # $ zodpovedá koncu print('Odstrániť počiatočné a koncové medzery:\n', re.sub(r"^\s+|\s+$", "", s), sep='') # | pre podmienku ALEBO |


Tu,
-
- Importujeme
re, špecializovaný balík na prácu s regulárnymi výrazmi.
- Importujeme
Záver
V tomto návode sme si ukázali rôzne spôsoby, ako pracovať s bielymi znakmi v reťazci v Pythone. Počas toho sme sa tiež naučili jednoduché použitie rôznych funkcií ako split(), join(), replace(), translate(), atď.
Máte záujem dozvedieť sa viac o Pythone? Pozrite si nasledujúce návody:
Komentáre
Zatiaľ žiadne komentáre. Buďte prvý.