Sadaliet un parsējiet virkni Python
In Python, darbs ar stīgām ir programmēšanas pamataspekts. Stīgas ir rakstzīmju secības un bieži satur strukturētus datus, kas ir jāapstrādā vai jāanalizē. Kopējās darbības, kas tiek veiktas ar virknēm, ir sadalīšana un parsēšana.
Virknes sadalīšana Python
Programmā Python virkni var sadalīt mazākās daļās, izmantojot split()> metode un split()> Metode izmanto norobežotāju kā argumentu un pārtrauc virkni katrā atdalītāja gadījumā, atgriežot apakšvirkņu sarakstu.
Sintakse :
string.split(atdalītājs)
Parametri:
-
delimiter>: Rakstzīme vai apakšvirkne, pie kuras virkne tiks sadalīta. Tas ir izvēles parametrs.
Atgriešanas vērtība:
The split()> metodi atgriež sarakstu ar apakšvirknēm, kas iegūtas, pārtraucot sākotnējo virkni atdalītāja gadījumos.
str.split() Metode
Šī metode sadala virkni apakšvirkņu sarakstā, pamatojoties uz noteiktu atdalītāju. Stīga Labdien! Laipni lūdzam techcodeview.com izmantojot komatu (',') kā atdalītāju. The split() funkcija atdala virkni apakšvirkņu sarakstā, izmantojot atdalītāju, kā rezultātā tiek parādīts saraksts A, kurā ir [Sveiki, laipni lūdzam techcodeview.com].
Piemērs :
Python
# Define a string containing> string> => 'Hello,Welcome,to,techcodeview.com'> # Use the split() method to split the string into> A> => string.split(> ','> )> # Print the resulting list> print> (A)> |
Izvade:
['Hello', 'Welcome', 'to', 'techcodeview.com']
str.rsplit() Metode
Tas ir līdzīgs str.split() , bet tas atdalās no virknes labās puses. Dotais kods izmanto funkciju rsplit (), lai sadalītu virkni S divās daļās, pamatojoties uz pēdējo komatu (','). Rezultāts ir saraksts, kurā ir daļas pirms un pēc sadalīšanas. A būs ['Hello to World', 'Python'] kur pēdējā ar komatu atdalītā daļa Python ir atdalīta no pārējās virknes Sveiki Pasaulē .
Piemērs :
Python
# Given string> S> => 'Hello,to,World,Python'> A> => S.rsplit(> ','> ,> 1> )> # Printing the result> print> (A)> |
Izvade:
['Hello,to,World', 'Python']
str.splitlines() Metode
Šī metode sadala virkni rindiņu pārtraukumos un atgriež rindu sarakstu. Kods definē virkni M ar trim teksta rindiņām, kas atdalītas ar jaunās rindiņas rakstzīmēm. Pēc tam tas izmanto Splitlines() metode lai sadalītu virkni sarakstā, ko sauc par līniju un kurā katrs elements apzīmē rindiņu no sākotnējās virknes. Visbeidzot, kods izdrukā rindu saraksta saturu.
Piemērs :
Python
# Define a string with three lines of> # text separated by newline characters> M> => 'GFG 1
GFG 2
GFG 3'> # Use the splitlines() method to split> line> => M.splitlines()> print> (line)> |
Izvade:
['GFG 1', 'GFG 2', 'GFG 3']
str.partition() Metode
Šī metode sadala virkni trīs daļās, pamatojoties uz pirmo separatora parādīšanos. Kods izmanto nodalījums () metode, lai sadalītu virkni Teksts pirmajā atdalītāja gadījumā. Tas piešķir daļu pirms atdalītāja mainīgajam pirms, pašu atdalītāju mainīgajam sep un daļu pēc atdalītāja mainīgajam pēc.
Piemērs :
Python
# Input string> Text> => 'Mango,Orange,apple'> before, sep, after> => Text.partition(> ','> )> # Printing the part of the string before the separator> print> (before)> print> (after)> |
Izvade:
Mango Orange,apple
re.split() Metode
Re modulis nodrošina jaudīgāku virkņu sadalīšanu, izmantojot regulārās izteiksmes. Kods izmanto re.split() funkcija no re moduļa Python, lai sadalītu teksta virkni, pamatojoties uz ciparu klātbūtni. Tas izveido sarakstu P, kurā elementi ir teksta apakšvirknes, kas atdalītas ar cipariem. Izvade būtu ['Mango, Orange', 'Banana'], kas parāda, ka virkne ir sadalīta pie cipara '1'.
Piemērs :
Python
import> re> # Input text containing a mix of> # alphabetic characters and digits> Text> => 'Mango,Orange1Banana'> P> => re.split(r> 'd'> , Text)> # Printing the resulting list of substrings> print> (P)> |
Izvade:
['Mango,Orange', 'Banana']
Saraksta izpratnes izmantošana
Tu vari izmantot saraksta izpratne lai sadalītu virkni un filtrētu tukšās virknes. Kods sadala virkni Teksts ar komatiem, izmantojot split(','), pēc tam izmanto saraksta izpratni, lai izveidotu sarakstu P, kurā ir netukšās daļas, pēc tam, kad ir noņemtas visas sākuma vai beigu atstarpes. Izvade ir saraksts P, kas satur ['Mango', 'Apelsīns', 'Banāns']. Šis kods efektīvi noņem tukšās daļas no sadalītā rezultāta un apgriež visas papildu atstarpes.
Piemērs :
Python
# Given input string> Text> => 'Mango,Orange,Banana'> # Split the input string by commas and filter out empty parts using list comprehension> P> => [part> for> part> in> Text.split(> ','> )> if> part.strip()]> # print> print> (P)> |
Izvade:
['Mango', 'Orange', 'Banana']
In Python , Virknes parsēšana attiecas uz jēgpilnas informācijas izvilkšanu no dotās virknes, un šis process ietver virknes pārveidošanu vajadzīgajā datu tipā vai konkrētu datu modeļu izvilkšanu no virknes.
Konvertēšana uz veseliem skaitļiem vai pludiņiem
Ja virknē ir ciparu dati. varat to parsēt uz veselu skaitli vai peldošo datu tipu, izmantojot int()> un float()> funkcijas, attiecīgi. Dotais kods pārvērš virkni 52 par veselu skaitli un izdrukā rezultātu (52). Līdzīgi tas pārveido virkni 4.17 par peldošā komata skaitli un izdrukā rezultātu (4.17). Tas parāda int() un float() funkciju izmantošanu, lai pārvērstu virknes atbilstošiem skaitļu datu tipiem programmā Python.
Python
# Convert a string to an integer> number_str> => '52'> number_int> => int> (number_str)> print> (number_int)> # Convert a string to a floating-point number> decimal_str> => '4.17'> decimal_float> => float> (decimal_str)> print> (decimal_float)> |
Izvade:
52 4.17
Secinājums
Izmantojot šīs iepriekš minētās metodes, varēsit sadalīt un parsēt virkni. Mēs arī izpētīsim, kā mēs varam pārveidot interger par peldošu un izmantojot split() metodi kā mēs varam sadalīt virkni mazākās daļās pamatojoties uz norobežotāju.