Python

Ako rozdeliť reťazce v Pythone

Ako rozdeliť reťazce v Pythone
Tento článok vysvetlí, ako rozdeliť reťazce v pythone pomocou metód „split ()“ a „partition ()“. Tieto metódy sú obzvlášť užitočné, ak chcete previesť vetu alebo skupinu slov na analyzovateľné a opakovateľné typy Pythonu. Všetky ukážky kódu v tejto príručke sú testované s programom Python verzie 3.8.6.

Split metóda

Metódu „split ()“ je možné použiť na rozdelenie slov pomocou používateľom zadaného oddeľovača. Vráti zoznam rozdelených slov bez oddeľovača. Ak užívateľ neurčí žiadny oddeľovač, použije sa ako jeden oddeľovač medzery (jeden alebo viac).

Napríklad nasledujúci kód vráti ako výstup „['Linux', 'Hint']“:

text = "Pomôcka pre Linux"
text.split ()

Nasledujúci kód vráti „['LinuxHint', 'com']“ ako výstup, keď „.”Sa používa ako oddeľovač:

text = "LinuxHint.com "
text.rozdeliť („.”)

Oddeľovač nemusí byť jeden znak. Metóda split vyžaduje dva argumenty:

Oba tieto argumenty sú voliteľné. Ako už bolo spomenuté vyššie, ak nie je zadaný argument „sep“, na rozdelenie sa ako oddeľovač použije medzera. Argument „maxsplit“ má predvolenú hodnotu „-1“ a predvolene rozdeľuje všetky výskyty. Zvážte kód uvedený nižšie:

text = "LinuxHint.spol.my "
text.rozdeliť („.”)

Ako výstup vráti „[„ LinuxHint “,„ co “,„ nás “]]. Ak chcete zastaviť rozdelenie pri prvom výskyte oddeľovača, zadajte „1“ ako argument „maxsplit“.

text = "LinuxHint.spol.my "
text.rozdeliť („.”, 1)

Vyššie uvedený kód vráti „['LinuxHint', 'co.nás '] ”ako výstup. Ako druhý argument zadajte počet výskytov, kde chcete zastaviť proces rozdelenia.

Upozorňujeme, že ak existujú po sebe nasledujúce oddeľovače, pre zvyšné oddeľovače sa po prvom rozdelení vráti prázdny reťazec (ak sa nepoužije argument „maxsplit“):

text = "LinuxHint ... com"
text.rozdeliť („.„)

Vyššie uvedený kód vráti ako výstup „['LinuxHint',“, „com“] “. Ak chcete z výsledného zoznamu odstrániť prázdne reťazce, môžete použiť nasledujúci príkaz s porozumením zoznamu:

text = "LinuxHint ... com"
výsledok = text.rozdeliť („.„)
result = [položka pre položku vo výsledku ak položka != ""]
tlač (výsledok)

Po spustení vyššie uvedenej ukážky kódu dostanete ako výstup „['LinuxHint', 'com']“.

Upozorňujeme, že metóda „split ()“ sa pohybuje zľava doprava a rozdeľuje reťazce na slová. Ak chcete rozdeliť reťazec zprava doľava, použite namiesto toho „rsplit ()“. Jeho syntax, použitie a argumenty sú úplne rovnaké ako v prípade metódy „split ()“.

Ak sa v reťazci pri použití metód „split ()“ alebo „rsplit ()“ nenájde oddeľovač, vráti sa pôvodný reťazec ako jediný prvok zoznamu.

Metóda rozdelenia

Metódu „partition ()“ je možné použiť na rozdelenie reťazcov a s rovnakými rozdielmi funguje rovnako ako metóda „split ()“. Najvýznamnejším rozdielom je, že si zachováva oddeľovač a zahŕňa ho ako položku do výslednej n-tice obsahujúcej rozdelené slová. To je obzvlášť užitočné, ak chcete rozdeliť reťazec na iterovateľný objekt (v tomto prípade n-ticu) bez odstránenia pôvodných znakov. Zvážte kód uvedený nižšie:

text = "LinuxHint.com "
výsledok = text.oddiel („.„)
tlač (výsledok)

Vyššie uvedená ukážka kódu vráti „('LinuxHint', '.',' com ') “ako výstup. Ak chcete, aby bol výsledok typu zoznamu, použite namiesto toho nasledujúcu ukážku kódu:

text = "LinuxHint.com "
výsledok = zoznam (text.oddiel („."))
tlač (výsledok)

Mali by ste dostať „['LinuxHint', '.',' com '] “ako výstup po spustení vyššie uvedenej ukážky kódu.

Metóda „partition ()“ vyžaduje iba jeden argument s názvom „sep“. Používatelia môžu určiť oddeľovač akejkoľvek dĺžky. Na rozdiel od metódy „split ()“ je tento argument povinný, takže nemôžete vynechať oddeľovač. Medzery však môžete určiť ako oddeľovač.

Upozorňujeme, že metóda oddielu sa zastaví pri prvom výskyte oddeľovača. Takže ak váš reťazec obsahuje viac oddeľovačov, metóda „partition ()“ bude ignorovať všetky ostatné výskyty. Tu je príklad ilustrujúci toto:

text = "LinuxHint.spol.my "
výsledok = zoznam (text.oddiel („.„))
tlač (výsledok)

Ukážka kódu vytvorí „['LinuxHint', '.',' co.nás '] ”ako výstup. Ak chcete rozdeliť všetky výskyty oddeľovača a zahrnúť oddeľovač aj do konečného zoznamu, možno budete musieť použiť vzor „Regulárny výraz“ alebo „RegEx“. V príklade uvedenom vyššie môžete vzor RegEx použiť nasledujúcim spôsobom:

import re
text = "LinuxHint.spol.my "
výsledok = re.split ("(\.) ", text)
tlač (výsledok)

Dostanete „['LinuxHint', '.',' co ','.',' us ']] “ako výstup po vykonaní vyššie uvedenej ukážky kódu. Bodkový znak bol vo vyššie uvedenom výroku RegEx uniknutý. Upozorňujeme, že hoci vyššie uvedený príklad funguje s jedným bodkovým znakom, nemusí fungovať s komplexnými oddeľovačmi a zložitými reťazcami. Možno budete musieť definovať svoj vlastný vzor RegEx v závislosti od prípadu použitia. Práve je uvedený príklad, ktorý vám poskytne predstavu o procese zadržania oddeľovača v konečnom zozname pomocou príkazov RegEx.

Metóda „partition ()“ môže niekedy nechať prázdne reťazce, najmä ak sa v reťazci, ktorý sa má rozdeliť, nenašiel oddeľovač. V takýchto prípadoch môžete použiť príkazy s porozumením zoznamu na odstránenie prázdnych reťazcov, ako je vysvetlené v časti metódy „split ()“ vyššie.

text = "LinuxHint"
výsledok = zoznam (text.oddiel („.„))
result = [položka pre položku vo výsledku ak položka != ""]
tlač (výsledok)

Po spustení vyššie uvedeného kódu by ste mali dostať ako výstup „['LinuxHint']“.

Záver

Pre jednoduché a priame rozdelenie môžete na získanie iterovateľných typov použiť metódy „split ()“ a „partition ()“. Pre zložité reťazce a oddeľovače budete musieť použiť príkazy RegEx.

Napodobňovanie kliknutí myšou vznášaním sa pomocou myši bez myši vo Windows 10
Používanie myši alebo klávesnice v nesprávnom postoji k nadmernému používaniu môže mať za následok veľa zdravotných problémov vrátane napätia, syndróm...
Pridajte gestá myši do systému Windows 10 pomocou týchto bezplatných nástrojov
V posledných rokoch sa počítače a operačné systémy veľmi vyvinuli. Boli časy, keď používatelia museli prechádzať správcami súborov pomocou príkazov. R...
Ovládajte a spravujte pohyb myši medzi viacerými monitormi v systéme Windows 10
Správca myši s duálnym displejom umožňuje ovládať a konfigurovať pohyb myši medzi viacerými monitormi spomalením jeho pohybu blízko hranice. Windows 1...