Opdel og parse en streng i Python

I Python, arbejde med strenge er et grundlæggende aspekt af programmering. Strenge er sekvenser af tegn og indeholder ofte strukturerede data, der skal behandles eller analyseres. De almindelige operationer, der udføres på strenge, er opdeling og parsing.

Splitte en streng i Python

I Python kan du opdele en streng i mindre dele ved hjælp af split()> metode og The split()> metoden tager et afgrænsningstegn som et argument og bryder strengen ved hver forekomst af afgrænsningstegnet og returnerer en liste over understrenge.

Syntaks:

string.split(delimiter)

Parametre:

  • delimiter> : Tegnet eller understrengen, hvor strengen vil blive opdelt. Det er en valgfri parameter.

Returneringsværdi:

Det split()> metode returnerer en liste over understrenge opnået ved at bryde den oprindelige streng ved forekomster af skilletegn.

str.split() Metode

Denne metode opdeler en streng i en liste over understrenge baseret på en specificeret afgrænsning. Snoren Hej, Velkommen til techcodeview.com ved at bruge kommaet (',') som afgrænsning. Det split() funktion adskiller strengen i en liste over understrenge ved hjælp af skilletegn, hvilket resulterer i, at liste A indeholder [Hej Velkommen til techcodeview.com].

Eksempel:

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

Output:

['Hello', 'Welcome', 'to', 'techcodeview.com'] 

str.rsplit() Metode

Dette ligner str.split() , men den deler sig fra højre side af strengen. Den givne kode bruger funktionen rsplit() til at opdele strengen S i de to dele baseret på den sidste forekomst af kommaet (','). Resultatet er en liste, der indeholder delene før og efter opdelingen. A vil være ['Hej til verden', 'Python'] hvor den sidste kommaseparerede del Python er adskilt fra resten af ​​strengen Hej til verden .

Eksempel:

Python




# Given string> S> => 'Hello,to,World,Python'> A> => S.rsplit(> ','> ,> 1> )> # Printing the result> print> (A)>

Output:

['Hello,to,World', 'Python'] 

str.splitlines() Metode

Denne metode opdeler en streng ved linjeskift og returnerer en liste over linjerne. Koden definerer en streng M med de tre tekstlinjer adskilt af nye linjetegn. Den bruger så splitlines() metode at opdele strengen i en liste kaldet linje, og hvor hvert element repræsenterer en linje fra den originale streng. Til sidst udskriver koden indholdet af linjelisten.

Eksempel:

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

Output:

['GFG 1', 'GFG 2', 'GFG 3'] 

str.partition() Metode

Denne metode flækker en streng i tre dele baseret på første forekomst af en separator. Koden bruger skillevæg() metode til at opdele strengen Tekst ved den første forekomst af separator. Den tildeler delen før separatoren til variabel før, selve separatoren til variabel sep og delen efter separatoren til variabel efter.

Eksempel:

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

Output:

Mango Orange,apple 

re.split() metode

Re-modulet giver mere kraftfuld strengopdeling ved hjælp af regulære udtryk. Koden bruger re.split() funktion fra re-modul i Python til at opdele tekststrengen baseret på tilstedeværelse af cifre. Det opretter en liste P, hvor elementer er understrenge af teksten adskilt af cifre. Outputtet ville være ['Mango, Orange', 'Banana'], hvilket viser, at strengen er blevet delt ved ciffer '1'.

Eksempel:

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

Output:

['Mango,Orange', 'Banana'] 

Brug af listeforståelse

Du kan bruge listeforståelse at opdele en streng og filtrere tomme strenge fra. Koden opdeler strengen Tekst med kommaer ved hjælp af split(',') og bruger derefter en listeforståelse til at oprette en liste P, der indeholder de ikke-tomme dele efter at have fjernet ethvert indledende eller efterstillet mellemrum. Outputtet er listen P indeholdende ['Mango', 'Orange', 'Banan']. Denne kode fjerner effektivt tomme dele fra det opdelte resultat og trimmer eventuelle ekstra mellemrum.

Eksempel:

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

Output:

['Mango', 'Orange', 'Banana'] 

I Python , Parsing af en streng refererer til at udtrække meningsfuld information fra den givne streng, og denne proces involverer konvertering af strengen til dens ønskede datatype eller udtrækning af specifikke datamønstre fra streng.

Konvertering til heltal eller flydende

Hvis strengen indeholder numeriske data. du kan parse det til et heltal eller flydende datatype ved hjælp af int()> og float()> funktioner, hhv. Den givne kode konverterer en streng 52 til et heltal og udskriver resultatet (52). På samme måde konverterer den strengen 4.17 til et flydende kommatal og udskriver resultatet (4.17). Dette demonstrerer brugen af ​​funktionerne int() og float() til at konvertere strenge til de tilsvarende numeriske datatyper i 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)>

Output:

52 4.17 

Konklusion

Ved at bruge disse metoder nævnt ovenfor, vil du være i stand til at opdele og parse en streng. Vi vil også undersøge, hvordan vi kan konvertere et interger til at flyde og ved at bruge split()-metoden hvordan vi kan brække en streng i mindre dele baseret på en afgrænsning.