Python | Sadaliet vairākas rakstzīmes no virknes

Programmā Python Strings ir pamata datu tips, ko izmanto teksta datu glabāšanai un darbam ar tiem. Virknes sadalīšana vairākās rakstzīmēs ir bieža teksta apstrādes darbība programmā Python. Kodējot vai improvizējot savas programmēšanas prasmes, jūs noteikti esat saskāries ar daudziem scenārijiem, kuros vēlaties izmantot sadalīt () Python, lai nedalītos tikai uz vienu rakstzīmi, bet gan vairākiem norobežotājiem vienlaikus. Šajā rakstā mēs aplūkosim dažādas pieejas Python virkne sadalīt vairākus atdalītājus.

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

In Python , Mēs varam izmantot dažādas pieejas, lai no virknes sadalītu vairākus norobežotājus. Izmantojot šīs metodes, atsevišķu rakstzīmju sadalīšana un manipulēšana no virknes Python ir vienkārša.

Sadaliet virkni ar vairākiem norobežotājiem, izmantojot sadalīšanas funkciju

Programmā Python mēs varam sadalīt vairākas rakstzīmes no virknes, izmantojot split (). Šeit mēs atkārtojam katru norobežotāju un sadalām virkni, izmantojot split() funkcija. Pēc sadalīšanas mēs savienojam iegūto sarakstu ar atstarpēm, izmantojot join() funkcija un mēs sadalām modificēto virkni, pamatojoties uz atstarpes, lai iegūtu vēlamo virkņu sarakstu.

Python3




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

Izvade

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

Python sadalīts ar vairākām rakstzīmēm, izmantojot aizstājēju ()

Programmā Python mēs varam sadalīt vairākas rakstzīmes no virknes, izmantojot aizvietot(). Tas ir ļoti jauns veids, kā veikt sadalīšanu. Tas neizmanto regulāro izteiksmi un ir neefektīvs, taču joprojām ir vērts mēģināt. Ja zināt rakstzīmes, kuras vēlaties sadalīt, vienkārši aizstājiet tās ar atstarpi un pēc tam izmantojiet sadalīt () .

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

Izvade

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

Python sadalīts pa vairākām rakstzīmēm, izmantojot Re.split()

Programmā Python mēs varam sadalīt vairākas rakstzīmes no virknes, izmantojot resplit (). Šī ir visefektīvākā un visbiežāk izmantotā metode vairāku rakstzīmju sadalīšanai vienlaikus. Lai to izdarītu, tas izmanto regulāras izteiksmes (regulāras izteiksmes).

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

Izvade

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

Rinda re.split(‘, |_|-|!’, data) liek Python sadalīt mainīgo datus pa rakstzīmēm: , vai _ vai vai ! . Simbols | apzīmē vai. Regulārajā izteiksmē ir daži simboli, kas tiek uzskatīti par īpašiem simboliem un kuriem ir dažādas funkcijas. Ja vēlaties sadalīt šādu simbolu, jums tas ir jāizvairās, izmantojot a (aizmugurējā slīpsvītra), un tai ir nepieciešama viena atstarpe pirms un pēc īpašajām rakstzīmēm.

Speciālo rakstzīmju saraksts, kuras pirms to izmantošanas ir jāaizpilda:

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

Piemērs: Šajā kodā mēs izmantojam resplit (), lai atdalītu rakstzīmes no virknēm programmā 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))>

Izvade

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

Piezīme: Lai uzzinātu vairāk par regulāro izteiksmi noklikšķiniet šeit .

Sadaliet virkni pēc vairākiem norobežotājiem, izmantojot re.findall()

Programmā Python mēs varam sadalīt vairākas rakstzīmes no virknes, izmantojot refindall (). Šī ir nedaudz noslēpumaināka forma, taču ietaupa laiku. Tas arī izmanto regulāro izteiksmi, piemēram, iepriekš, bet tā vietā .split() metodi, tā izmanto metodi, ko sauc . atrast visu () . Šī metode atrod visus atbilstošos gadījumus un atgriež katru no tiem sarakstā. Šo sadalīšanas veidu vislabāk izmantot, ja nezināt precīzas rakstzīmes, kuras vēlaties sadalīt.

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

Izvade

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

Šeit atslēgvārds [w’]+ norāda, ka tas atradīs visus alfabēta gadījumus vai pasvītrojumu (_) vienu vai vairākus un atgriezīs tos sarakstā. Piezīme: [w’]+ netiks sadalīts uz pasvītras ( _ ), jo tiek meklēti alfabēti, kā arī pasvītras.

Piemērs: Šajā kodā mēs izmantojam refindall (), lai sadalītu rakstzīmes no virknēm Python.

Python3




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

Izvade

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

Rakstzīmju klases

Regex apkrāptu lapa par varoņa aprakstu

Īsā rakstzīmju klase Pārstāv
d Jebkurš ciparu cipars no 0 līdz 9
D Jebkura rakstzīme, kas nav cipars no 0 līdz 9
In Jebkurš burts, cipars vai pasvītra rakstzīme
IN Jebkura rakstzīme, kas nav burts, cipars vai pasvītra rakstzīme
s Jebkura atstarpe, tabulēšanas rakstzīme vai jaunrindas rakstzīme
S Jebkura rakstzīme, kas nav atstarpe, tabulēšana vai jauna rindiņa