Pythonissa merkkijonot ovat perustietotyyppi, jota käytetään tekstitietojen tallentamiseen ja käsittelemiseen. Merkkijonon jakaminen useiksi merkeiksi on yleinen tekstinkäsittelytoiminto Pythonissa. Kun koodaat tai improvisoit ohjelmointitaitojasi, olet varmasti törmännyt moniin skenaarioihin, joissa halusit käyttää jakaa() Pythonissa ei jaeta vain yhdelle merkille, vaan useille erottimille kerralla. Tässä artikkelissa näemme erilaisia lähestymistapoja Python-merkkijono jakaa useita erottimia.
Input: 'GeeksForGeeks, is an-awesome! website' Output: ['GeeksForGeeks, ', 'is', 'an-awesome!', 'website'] Explanation: In This, we are splitting the multiple delimiters from the string.>
Sisään Python , Voimme käyttää erilaisia lähestymistapoja useiden erottimien jakamiseen merkkijonosta. Näillä menetelmillä yksittäisten merkkien jakaminen ja käsitteleminen merkkijonosta on yksinkertaista Pythonissa.
- Käyttämällä Jaettu toiminto
- Käytä korvaa()
- Käyttämällä re.split()
- Re.findall()
Jaa merkkijono useilla erottimilla käyttämällä jakotoimintoa
Pythonissa voimme jakaa useita merkkejä merkkijonosta käyttämällä split(). Täällä iteroidaan jokaisen erottimen läpi ja jaetaan merkkijono käyttämällä split()-funktio. Jakamisen jälkeen yhdistämme tuloksena olevaan luetteloon välilyöntejä käyttämällä join()-funktio ja jaamme muokatun merkkijonon välilyöntien perusteella saadaksemme halutun merkkijonoluettelon.
jos muuten jos muuten java
Python 3
string>=> 'GeeksForGeeks, | is an-awesome! website'> delimiters>=> [>','>,>'|'>,>';'>,>'!'>]> for> delimiter>in> delimiters:> >string>=> ' '>.join(string.split(delimiter))> result>=> string.split()> print>(result)> |
>
>
Lähtö
['GeeksForGeeks', 'is', 'an-awesome', 'website']>
Python jaettu useilla merkeillä käyttämällä vaihtoa ()
Pythonissa voimme jakaa useita merkkejä merkkijonosta käyttämällä korvata(). Tämä on erittäin aloittelija tapa tehdä jako. Se ei käytä regexiä ja on tehoton, mutta silti kokeilemisen arvoinen. Jos tiedät merkit, joihin haluat jakaa, korvaa ne välilyönnillä ja käytä sitten jakaa() .
Python 3
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))> |
>
>
Lähtö
The original string is : Let's_try, this now The list after performing split functionality : ['Let's', 'try', 'this', 'now']>
Python jaettu useilla merkeillä käyttämällä Re.split()
Pythonissa voimme jakaa useita merkkejä merkkijonosta käyttämällä resplit(). Tämä on tehokkain ja yleisimmin käytetty tapa jakaa useita merkkejä kerralla. Se käyttää regex-lausekkeita (säännöllisiä lausekkeita) tehdäkseen tämän.
kuinka palauttaa taulukko java
Python 3
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))> |
>
>
Lähtö
The original string is : techcodeview.com, is_an-awesome ! website The list after performing split functionality : ['techcodeview.com', 'is', 'an', 'awesome ', ' website']>
Rivi re.split(’, |_|-|!’, data) käskee Pythonia jakamaan muuttujan tiedot merkeistä: , tai _ tai – tai ! . Symboli | edustaa tai. Regexissä on joitain symboleja, joita käsitellään erikoissymboleina ja joilla on erilaisia toimintoja. Jos haluat jakaa tällaisen symbolin, sinun on poistettava se käyttämällä a (kenoviiva) ja se vaatii yhden välilyönnin ennen ja jälkeen erikoismerkkejä.
Luettelo erikoismerkeistä, jotka on pakotettava ennen niiden käyttöä:
. + * ? [ ^ ] $ ( ) { } = | :> Esimerkki: Tässä koodissa käytämme uudelleenjakoa () merkkien jakamiseen merkkijonoista Pythonissa.
Python 3
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))> |
>
>
Lähtö
['techcodeview.com', ' is', 'an', 'awesome', ' app', 'too']>
Huomautus: Lisätietoja regexistä Klikkaa tästä .
Jaa merkkijono useilla erottimilla käyttämällä re.findall()
Pythonissa voimme jakaa useita merkkejä merkkijonosta käyttämällä refindall(). Tämä on hieman arkaanisempi muoto, mutta säästää aikaa. Se käyttää myös regexiä, kuten yllä, mutta sen sijaan .jakaa() menetelmä, se käyttää menetelmää nimeltä . löydä kaikki () . Tämä menetelmä etsii kaikki vastaavat esiintymät ja palauttaa jokaisen niistä luettelona. Tätä jakamistapaa käytetään parhaiten, kun et tiedä tarkkaa merkkejä, joihin haluat jakaa.
verrata javan merkkijonoihin
Python 3
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))> |
>
>
Lähtö
The original string is : This, is - another : example?! The list after performing split functionality : ['This', 'is', 'another', 'example']>
Tässä avainsana [w’]+ osoittaa, että se löytää kaikki aakkoset tai alaviivat (_) yhden tai useamman ja palauttaa ne luettelona. Huomautus: [w’]+ ei jaa alaviivan kohdalla( _ ), kun se etsii aakkosia ja alaviivoja.
Esimerkki: Tässä koodissa käytämme refindallia () merkkien jakamiseen merkkijonoista Python.
Python 3
import> re> testData>=> 'This, is - underscored _ example?!'> print>(re.findall(r>'[w']+'>, testData))> |
>
>
Lähtö
['This', 'is', 'underscored', '_', 'example']>
Hahmoluokat
Regex-huijauslehti hahmon kuvauksessa
| Pikakirjoitusmerkkiluokka | Edustaa |
|---|---|
| d | Mikä tahansa numeerinen numero 0-9 |
| D | Mikä tahansa merkki, joka ei ole numeerinen numero 0-9 |
| Sisään | Mikä tahansa kirjain, numeerinen numero tai alaviiva |
| SISÄÄN | Mikä tahansa merkki, joka ei ole kirjain, numeerinen numero tai alaviiva |
| s | Mikä tahansa välilyönti, sarkain tai rivinvaihtomerkki |
| S | Mikä tahansa merkki, joka ei ole välilyönti, sarkain tai rivinvaihto |