logo

Python | Dividiu diversos caràcters de la cadena

A Python, les cadenes són un tipus de dades bàsic que s'utilitza per emmagatzemar i treballar amb dades textuals. Dividir una cadena en nombrosos caràcters és una activitat freqüent de processament de text a Python. Mentre codifiqueu o improviseu la vostra habilitat de programació, segurament haureu d'haver trobat molts escenaris on volíeu utilitzar dividir () a Python per no dividir-se en un sol caràcter, sinó en diversos delimitadors alhora. En aquest article, veurem diferents enfocaments Cadena de Python dividir diversos delimitadors.

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

En Python , Podem utilitzar diferents enfocaments per dividir diversos delimitadors de la cadena. Amb aquests mètodes, dividir i manipular caràcters individuals d'una cadena a Python és senzill.



  • Utilitzant Funció Split
  • Utilitzant substituir()
  • Utilitzant re.dividir()
  • Utilitzant re.findall()

Dividiu la cadena per múltiples delimitadors mitjançant la funció de dividir

A Python, podem dividir diversos caràcters d'una cadena mitjançant split(). Aquí, iterem a través de cada delimitador i dividim la cadena utilitzant funció split(). Després de dividir, unim la llista resultant amb espais utilitzant el funció join(). i dividim la cadena modificada en funció dels espais en blanc per obtenir la llista de cadenes desitjada.

Python 3








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

>

>

Sortida

diferència entre lleó i tigre
['GeeksForGeeks', 'is', 'an-awesome', 'website']>

Python dividit per diversos caràcters mitjançant substituir()

A Python, podem dividir diversos caràcters d'una cadena utilitzant substituir (). Aquesta és una manera molt nova de fer la divisió. No fa ús de regex i és ineficient, però val la pena provar-ho. Si coneixeu els personatges amb els quals voleu dividir, només heu de substituir-los per un espai i després utilitzar-los dividir () .

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))>

>

>

Sortida

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

Python dividit per diversos caràcters mitjançant Re.split()

A Python, podem dividir diversos caràcters d'una cadena utilitzant resplit(). Aquest és el mètode més eficient i utilitzat habitualment per dividir diversos caràcters alhora. Fa ús de regex (expressions regulars) per fer-ho.

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))>

>

>

Sortida

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

La línia re.split(‘, |_|-|!’, data) diu a Python que divideixi les dades variables en els caràcters: , o _ o o ! . El símbol | representa o. Hi ha alguns símbols a regex que es tracten com a símbols especials i tenen diferents funcions. Si voleu dividir aquest símbol, heu d'escapar-lo amb a (barra invertida) i necessita un espai abans i després dels caràcters especials.

Llista de caràcters especials que cal escapar abans d'utilitzar-los:

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

Exemple: En aquest codi, estem utilitzant resplit () per dividir caràcters de cadenes en Python.

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))>

>

vaja

>

Sortida

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

Nota: Per saber més sobre regex clica aquí .

Dividiu la cadena per múltiples delimitadors mitjançant re.findall()

A Python, podem dividir diversos caràcters d'una cadena mitjançant refindall(). Aquesta és una forma una mica més arcana, però estalvia temps. També fa ús de regex com l'anterior, però en lloc de .split() mètode, utilitza un mètode anomenat . findall() . Aquest mètode cerca totes les instàncies coincidents i retorna cadascuna d'elles en una llista. Aquesta manera de dividir s'utilitza millor quan no coneixeu els caràcters exactes que voleu dividir.

mvc per a java

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))>

>

>

Sortida

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

Aquí la paraula clau [w’]+ indica que trobarà totes les instàncies d'alfabets o guió baix (_) una o més i les retornarà en una llista. Nota: [w’]+ no es dividirà amb un guió baix ( _ ) ja que cerca alfabets i guions baixos.

Exemple: En aquest codi, estem utilitzant refindall () per dividir caràcters de cadenes Python.

Python 3




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

>

>

Sortida

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

Classes de personatges

Full de trucs Regex sobre la descripció del personatge

Classe de caràcters taquigràfics Representa
d Qualsevol dígit numèric del 0 al 9
D Qualsevol caràcter que no sigui un dígit numèric del 0 al 9
En Qualsevol lletra, dígit numèric o el caràcter de subratllat
IN Qualsevol caràcter que no sigui una lletra, un dígit numèric o el caràcter de subratllat
s Qualsevol caràcter d'espai, tabulació o nova línia
S Qualsevol caràcter que no sigui un espai, una tabulació o una nova línia