logo

Python | Opdel flere tegn fra streng

I Python er Strings en grundlæggende datatype, der bruges til at gemme og arbejde med tekstdata. At opdele en streng i adskillige tegn er en hyppig tekstbehandlingsaktivitet i Python. Mens du koder eller improviserer dine programmeringsevner, skal du helt sikkert have stødt på mange scenarier, hvor du ønskede at bruge dele() i Python ikke at opdele på kun én karakter, men flere afgrænsere på én gang. I denne artikel vil vi se forskellige tilgange til Python streng opdele flere afgrænsninger.

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

I Python , Vi kan bruge forskellige tilgange til at opdele flere afgrænsere fra strengen. Med disse metoder er det nemt at opdele og manipulere individuelle tegn fra en streng i Python.



  • Ved brug af Split funktion
  • Brug af replace()
  • Ved brug af re.split()
  • Brug af re.findall()

Opdel streng med flere skilletegn ved hjælp af Split-funktionen

I Python kan vi opdele flere tegn fra en streng ved hjælp af split(). Her itererer vi gennem hver afgrænsning og deler strengen ved hjælp af split() funktion. Efter opdeling slutter vi os til den resulterende liste med mellemrum ved hjælp af join() funktion og vi opdeler den ændrede streng baseret på mellemrum for at opnå den ønskede liste over strenge.

Python3




typestøbning og typekonvertering i java





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

>

>

Produktion

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

Python opdeles med flere tegn ved hjælp af replace()

I Python kan vi opdele flere tegn fra en streng vha erstatte(). Dette er en meget nybegynder måde at lave splittelsen på. Det gør ikke brug af regex og er ineffektivt, men stadig et forsøg værd. Hvis du kender de tegn, du vil dele op på, skal du bare erstatte dem med et mellemrum og derefter bruge dele() .

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

nøgle til bærbar indsættelse
>

>

Produktion

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

Python opdeles efter flere tegn ved hjælp af Re.split()

I Python kan vi opdele flere tegn fra en streng vha resplit(). Dette er den mest effektive og mest brugte metode til at opdele flere tegn på én gang. Det gør brug af regex (regulære udtryk) for at gøre dette.

Python3




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

>

dfs algoritme

>

Produktion

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

Linjen re.split(', |_|-|!', data) fortæller Python at opdele variable data på tegnene: , eller _ eller eller ! . Symbolet | repræsenterer eller. Der er nogle symboler i regex, som behandles som specielle symboler og har forskellige funktioner. Hvis du ønsker at splitte på et sådant symbol, skal du undslippe det ved hjælp af en (tilbage-skråstreg), og den skal bruge et mellemrum før og efter specialtegn.

Liste over specialtegn, der skal escapes, før du bruger dem:

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

Eksempel: I denne kode bruger vi resplit () til at opdele tegn fra strenge i Python.

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

>

linux som
>

Produktion

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

Bemærk: For at vide mere om regex Klik her .

Opdel streng med flere skilletegn ved hjælp af re.findall()

I Python kan vi opdele flere tegn fra en streng ved hjælp af refindall(). Dette er en lidt mere mystisk form, men sparer tid. Det gør også brug af regex som ovenfor, men i stedet for .dele() metode, bruger den en metode kaldet . findall() . Denne metode finder alle matchende forekomster og returnerer hver af dem på en liste. Denne måde at opdele er bedst brugt, når du ikke kender de nøjagtige tegn, du vil opdele efter.

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

>

>

Produktion

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

Her indikerer nøgleordet [w']+, at det vil finde alle forekomster af alfabeter eller understregning(_) en eller flere og returnere dem på en liste. Bemærk: [w']+ opdeles ikke på en understregning( _ ), da den søger efter alfabeter såvel som understregninger.

Eksempel: I denne kode bruger vi refindall () til at opdele tegn fra strenge i Python.

Python3




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

>

>

Produktion

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

Karakterklasser

Regex snydeark på karakterbeskrivelse

sprøjte træer
Stenografi karakter klasse Repræsenterer
d Ethvert numerisk ciffer fra 0 til 9
D Ethvert tegn, der ikke er et numerisk ciffer fra 0 til 9
I Ethvert bogstav, numeriske ciffer eller understregningstegn
I Ethvert tegn, der ikke er et bogstav, et numerisk ciffer eller et understregningstegn
s Ethvert mellemrum, tabulator eller nylinjetegn
S Ethvert tegn, der ikke er et mellemrum, tabulator eller linjeskift