logo

Python | Razdeli več znakov iz niza

V Pythonu so nizi osnovni podatkovni tip, ki se uporablja za shranjevanje in delo z besedilnimi podatki. Razdelitev niza na številne znake je v Pythonu pogosta dejavnost obdelave besedila. Med kodiranjem ali improviziranjem svojih veščin programiranja ste zagotovo naleteli na veliko scenarijev, kjer ste želeli uporabiti razdeli () v Pythonu ne razdeliti samo na en znak, ampak na več ločilnikov hkrati. V tem članku bomo videli različne pristope k Pythonov niz razdeli več ločil.

  Input:   'GeeksForGeeks, is an-awesome! website'   Output:   ['GeeksForGeeks, ', 'is', 'an-awesome!', 'website']   Explanation:   In This, we are splitting the multiple delimiters from the string.>

noter Python , Za ločitev več ločil iz niza lahko uporabimo različne pristope. S temi metodami je razdeljevanje in manipuliranje posameznih znakov iz niza v Pythonu preprosto.

Razdeli niz z več ločili s funkcijo Split

V Pythonu lahko ločimo več znakov iz niza z uporabo split(). Tukaj ponavljamo vsako ločilo in razdelimo niz z uporabo funkcijo split(). Po razdelitvi nastali seznam združimo s presledki z uporabo funkcija join(). in razdelimo spremenjeni niz na podlagi presledkov, da dobimo želeni seznam nizov.



Python3

ROM




string>=> 'GeeksForGeeks, | is an-awesome! website'> delimiters>=> [>','>,>'|'>,>';'>,>'!'>]> for> delimiter>in> delimiters:> >string>=> ' '>.join(string.split(delimiter))> result>=> string.split()> print>(result)>

>

>

Izhod

['GeeksForGeeks', 'is', 'an-awesome', 'website']>

Python razdeli na več znakov z uporabo replace()

V Pythonu lahko ločimo več znakov iz niza z uporabo zamenjati(). To je zelo nov način za razdelitev. Ne uporablja regularnega izraza in je neučinkovit, a vseeno vreden poskusa. Če poznate znake, na katere želite razdeliti, jih zamenjajte s presledkom in nato uporabite razdeli () .

Python3




data>=> 'Let's_try, this now'> # printing original string> print>(>'The original string is : '> +> data)> # Using replace() and split()> # Splitting characters in String> res>=> data.replace(>'_'>,>' '>).replace(>', '>,>' '>).split()> print>(>'The list after performing split functionality : '> +> str>(res))>

>

>

Izhod

The original string is : Let's_try, this now The list after performing split functionality : ['Let's', 'try', 'this', 'now']>

Python razdeli na več znakov z uporabo Re.split()

V Pythonu lahko ločimo več znakov iz niza z uporabo resplit(). To je najučinkovitejša in pogosto uporabljena metoda za razdelitev več znakov hkrati. Za to uporablja regex (regularne izraze).

Python3


preimenovanje imenika linux



import> re> data>=> 'techcodeview.com, is_an-awesome ! website'> print>(>'The original string is : '> +> data)> # Using re.split()> # Splitting characters in String> res>=> re.split(>', |_|-|!'>, data)> print>(>'The list after performing split functionality : '> +> str>(res))>

>

>

Izhod

The original string is : techcodeview.com, is_an-awesome ! website The list after performing split functionality : ['techcodeview.com', 'is', 'an', 'awesome ', ' website']>

Vrstica re.split(‘, |_|-|!’, podatki) pove Pythonu, naj razdeli spremenljive podatke na znake: , oz _ oz oz ! . Simbol | predstavlja oz. V regularnem izrazu je nekaj simbolov, ki se obravnavajo kot posebni simboli in imajo različne funkcije. Če želite razdeliti tak simbol, ga morate ubežati z a (poševnica nazaj) in potrebuje en presledek pred in za posebnimi znaki.

Seznam posebnih znakov, ki jih je treba pred uporabo ubežati:

.  + * ? [ ^ ] $ ( ) { } = | :>

primer: V tej kodi uporabljamo resplit () za ločevanje znakov iz nizov v Pythonu.

Python3




import> re> newData1>=> 'techcodeview.com, is_an-awesome ! app + too'> # To split '+' with one espace before and after '+' symbol and use backslash> print>(re.split(>', |_|-|!|+'>, newData1))> newData2>=> 'techcodeview.com, is_an-awesome ! app+too'> # To split '+' without one espace before and after '+' symbol and use backslash> print>(re.split(>', |_|-|!|+'>, newData2))>

>

>

Izhod

['techcodeview.com', ' is', 'an', 'awesome', ' app', 'too']>

Opomba: Če želite izvedeti več o regularnem izrazu Klikni tukaj .

Razdeli niz z več ločili z uporabo re.findall()

V Pythonu lahko ločimo več znakov iz niza z uporabo refindall(). To je nekoliko bolj skrivnostna oblika, vendar prihrani čas. Uporablja tudi regex kot zgoraj, vendar namesto .split() uporablja metodo, imenovano . findall() . Ta metoda najde vse primerke, ki se ujemajo, in vsakega od njih vrne na seznam. Ta način razdelitve je najbolje uporabiti, če ne poznate natančnih znakov, na katere želite razdeliti.

kako prebrati datoteko csv v javi

Python3




import> re> data>=> 'This, is - another : example?!'> print>(>'The original string is : '> +> data)> # Using re.findall()> # Splitting characters in String> res>=> re.findall(r>'[w']+'>, data)> print>(>'The list after performing split functionality : '> +> str>(res))>

>

>

Izhod

The original string is : This, is - another : example?! The list after performing split functionality : ['This', 'is', 'another', 'example']>

Tu ključna beseda [w’]+ nakazuje, da bo našla vse primerke črk ali podčrtaja (_) enega ali več in jih vrnila na seznam. Opomba: [w’]+ se ne bo razdelil na podčrtaj ( _ ), saj išče črke in podčrtaje.

primer: V tej kodi uporabljamo refindall () za razdelitev znakov iz nizov Python.

Python3




import> re> testData>=> 'This, is - underscored _ example?!'> print>(re.findall(r>'[w']+'>, testData))>

>

>

Izhod

['This', 'is', 'underscored', '_', 'example']>

Razredi znakov

Regex goljufija pri opisu lika

Razred stenografskih znakov Predstavlja
d Katera koli številka od 0 do 9
D Vsak znak, ki ni številka od 0 do 9
In Katera koli črka, številka ali podčrtaj
IN Vsak znak, ki ni črka, številska številka ali podčrtaj
s Vsak presledek, tabulator ali znak za novo vrstico
S Vsak znak, ki ni presledek, tabulator ali nova vrstica