Programmering

Arbejde med strenge i Python

Arbejde med strenge i Python

Strengen er en af ​​de mest populære datatyper i python. Vi kan bruge strengdatatypen til at gemme alle tekstdata. I python betragtes ethvert tegn under enkelt eller dobbelt anførselstegn som strenge. Disse tegn kan være hvilke som helst af Unicode-tegn, der understøtter i python. I denne vejledning lærer vi næsten alt om strengens datatype i python.

For at følge denne vejledning anbefales det at have den nyeste pythonversion installeret i dit system. Hvis du har en ældre version af python installeret i dit system, kan du følge vores guide til opdatering af python på Linux. 

Oprettelse af strenge i Python

For at oprette en streng i python er vi nødt til at sætte karakterernes array-underquoter. Python behandler både det enkelte og det dobbelte anførselstegn som det samme, så vi kan bruge et hvilket som helst af dem, mens vi opretter en streng. Se eksemplerne nedenfor, hvor vi opretter en streng, gemmer dem i variabler og derefter udskriver dem.

# opretter en streng
greeting = "Hello World"
# udskrivning af strengen
print (hilsen)

Når du kører ovenstående kode, får du output Hej Verden.

skabe strenge i python

I denne kode har vi oprettet en streng Hej Verdenog gemte den i en variabel med navnet hilsen. Derefter bruger vi Python-udskrivningsfunktionen til at vise den streng, der er gemt i variablen. Du får følgende output ved kørsel af koden. Vi kan også oprette en streng med flere linjer ved hjælp af tredobbelte citater i nedenstående eksempelkode.

var = "" "Lorem ipsum dolor sid amet,
consectetur adipiscing elit,
sed do eiusmod tempor incididunt
ut labore et dolore magna aliqua."" "
print (var)

Her er output.

multiline streng i python

I Python er strenge arrays af bytes, der repræsenterer Unicode-tegn. Men den har ingen indbygget datatype for enkelttegn som i C eller C++. Enhver streng, der har en længde på én, betragtes som et tegn.

Strenge længde 

I mange situationer skal vi muligvis beregne en strenglængde. Der er en indbygget funktion, der kan beregne længden af ​​en streng. Den funktion, vi vil bruge, er len () fungere.

For at se et praktisk eksempel på len () funktion, kør følgende kode i din Python IDE.

var = "Dette er en streng"
print ("Strengens længde er:", len (var))

Produktion:

længde på streng ved hjælp af len () -metoden

Vi kan også bruge python for loop, som jeg diskuterede i denne vejledning, til at beregne en strengs længde. 

Eksempel:

var = "Dette er en streng"
tælle = 0
for jeg i var:
count = count + 1
print ("Strengens længde er:", antal)

Produktion:

længde på streng manuelt ved hjælp af for loop

String sammenkædning

String sammenkædning er sammensmeltning eller sammenføjning af to strenge. Vi kan nemt sammenføje to strenge ved hjælp af + -operatoren. Lad os se et eksempel på sammenføjning af to strenge i python.

# opretter to strenge
string1 = "Hej"
string2 = "Verden"
# fletning af de to strenge
hilsen = streng1 + streng2
print (hilsen)

I ovenstående kode har vi oprettet to strenge, nemlig "Hej" og "Verden", og gemmer dem i to variabler navngivet streng1 og streng2. Derefter brugte vi + -operatoren til at forbinde de to strenge og gemme dem i en variabel med navnet hilsen og viste den ved hjælp af Print() fungere.

Produktion:

sammenkædning af to strenge

Gentagelse af streng

Vi kan gentage en streng flere gange i python ved hjælp af * operatoren. For eksempel for at udskrive strengen "Fosslinux" to gange, skal vi skrive følgende kode.

print ("Fosslinux" * 2)

Produktion:

gentagelse af strenge

Formatering af strenge

Det er ubesværet at lave strengformatering i Python. Der er tre måder:

1. Gammel formateringsstil

Den gamle stil med formatering af strenge udføres ved hjælp af% operatoren. Vi skal bruge specielle symboler som “% s”, “% d”, “% f”, “%.f ”. med strengen, og angiv derefter den tuple af data, vi vil formatere det sted. Lad os se, hvilke data der er accepteret af ovenstående symboler.

Se f.eks. Nedenstående kode. Du kan kopiere og køre koden i din foretrukne python IDE.

string1 = "Det er en formateret streng med heltal% d"% (1)
string2 = "Det er en formateret streng med streng% s"% ("Fosslinux")
string3 = "Det er en formateret streng med floatdata% f"% (1.01)
print (streng1)
print (streng2)
print (streng3)

Produktion:

den gamle stil med strengformatering i python

Som vi kan se i output, har vi formateret strengene med heltal, float og string data. Denne strengformateringsmetode er den ældste måde, men den bruges mindre i dag.

2. Brug af formatet () -metoden

Dette er en ny strengformateringsteknik introduceret i Python 3. Format () -funktionerne tager dataene som et argument og erstatter dem i den streng, hvor pladsholderen er til stede. 

Eksempel:

string1 = "Det er en formateret streng med heltal ".format (1)
string2 = "Det er en formateret streng med streng ".format ("Fosslinux")
string3 = "Det er en formateret streng med floatdata ".format (1.01)
print (streng1)
print (streng2)
print (streng3)
print (" er et fantastisk websted til læring og ".format ("FossLinux", "Linux", "Python"))

Vi får den formaterede streng som output ved kørsel af ovenstående kode, som vist i nedenstående billede.

strengformatering ved hjælp af format () -funktionen

3. f-strenge

Den nyeste strengformateringsteknik er strenginterpolering eller f-strenge, der blev introduceret i pythons version 3.6. Vi kan specificere et variabelnavn direkte i en f-streng, og Python-tolken erstatter variabelnavnet med dataværdien, der svarer til det. F-strengene starter med bogstavet f, og vi kan indsprøjte dataene direkte i deres tilsvarende positioner. Denne teknik til strengformatering er blevet ganske populær de seneste dage. For at se en demo af dens arbejde, kopier nedenstående kode og kør den i din python IDE.

string1 = f "Det er en formateret streng med heltal 1"
string2 = f "Det er en formateret streng med streng 'fosslinux'"
string3 = f "Det er en formateret streng med floatdata 0.01 "
print (streng1)
print (streng2)
print (streng3)
a = "Fosslinux"
b = "Linux"
c = "Python"
print (f "a er et fantastisk websted til læring b og c")

Vi brugte strenginterpolationsmetoden til formatering af strenge i ovenstående kode. Strengene startet med f-karakteren er f-strenge. F-strengen har gjort vores arbejde simpelt, og vi kan skrive variablerne direkte i strengene ved at give variabler under pladsholder. Når du kører ovenstående kode, får vi følgende output.

strengformatering ved hjælp af f-strenge

Kontroller, om der er underlag

Ofte vil vi måske kontrollere et tegns eksistens eller en substring i en streng. Dette kan gøres ved hjælp af i og ikke i Python nøgleord. For eksempel at kontrollere, om Hej er til stede i strengen Hej Verden, vi skal køre følgende kode.

x = "hej" i "hej verden"
udskrive (x)

Når vi kører ovenstående kode i en python IDE, får vi den boolske værdi Rigtigt som output, hvilket betyder, at understrengen “hej” er til stede i “hej verden”.

tjek for en substring i en streng

Lad os se en anden demonstration for at vide, hvordan det fungerer på en bedre måde.

string = "FossLinux er et fantastisk websted til at lære Linux og Python"
print ("Fosslinux" i streng)
print ("FossLinux" i streng)
print ("Foss" i streng)
print ("Pyt" i streng)
print ("hon" i streng)
print ("Python" ikke i streng)

Produktion:

tjek for en substring i en streng ved hjælp af i nøgleord

I ovenstående kode har vi brugt begge i og ikke i nøgleord for at kontrollere en understreng i den overordnede streng.

Streng som en sekvens af tegn

Pythonstrengen er en sekvens af tegn; de ligner næsten alle andre python-ordnede sekvenser som liste, tuple osv. Vi kan udtrække individuelle tegn fra strengene på mange måder, som at pakke dem ud ved hjælp af variabler og indeksering, som jeg vil diskutere i det næste emne. Vi kan pakke strengene ud ved at tildele dem variabler. For at se, hvordan det fungerer, skal du bare kopiere og køre følgende kode i din foretrukne python IDE.

sprog = 'Fosslinux'
# udpakning af strengen til variabler
a, b, c, d, e, f, g, h, i = sprog
print (a)
print (b)
print (c)
print (d)
print (e)
print (f)
udskrive (g)
print (h)
udskrive (i)

Produktion:

udpakning af tegn ved hjælp af variabler

Indeksering af strenge

Strengindeksering er en grundlæggende og populær teknik, hvorved vi kan få adgang til en strengs karakter og udføre mange strengoperationer meget let. Ved programmering starter tælling med nul (0), så for at få det første tegn i en streng skal vi give nul i indekset. For at se et praktisk eksempel på indeksering skal du kopiere og køre følgende kode i en Python IDE.

string = "Fosslinux"
print (streng [0])
print (streng [1])
print (streng [2])
print (streng [3])

I ovenstående kode opretter vi først en streng med navnet Fosslinux, og derefter bruger vi pythonstrengindekseringen til at få det første, andet, tredje og fjerde tegn i strengen. Vi får følgende output i terminalen ved kørsel af koden.

indekseringsstrenge

Python understøtter også negativ indeksering, hvilket er meget nyttigt, hvor vi kan begynde at tælle fra højre side. For eksempel for at få det næstsidste tegn i en streng "Fosslinux" skal vi skrive nedenstående kode.

string = "Fosslinux"
print ("Den næstsidste periode af strengen er:", streng [-2])

Når vi kører koden, får vi den næstsidste periode af strengen "Fosslinux", som vist i nedenstående billede.

negativ indeksering i Python-strenge

Få den sidste periode af en streng

Nogle gange vil vi måske få den sidste periode af strengen. Vi har to måder at gøre dette på: den første bruger negativ indeksering, og den anden bruger len () -funktionen med indeksering.

For at få den sidste periode af strengen ved hjælp af negativ indeksering, se på nedenstående kode.

string = "Fosslinux"
print ("Den sidste sigt i strengen er:", streng [-1])

Produktion:

sidste periode ved hjælp af negativ indeksering

Vi kan også bruge len () -funktionen med indeksering for at få den sidste periode. For at gøre dette skal vi beregne strengens længde, og så skal vi finde tegnet ved at indeksere værdien, som er en mindre end strengens længde. Se nedenstående eksempel.

string = "Fosslinux"
længde = len (streng)
last_index = længde-1
print ("Den sidste sigt i strengen er:", streng [last_index])

I ovenstående kode oprettede vi først en streng og lagrede den i en variabel med navnet snor. Derefter beregner vi strengens længde ved hjælp af len () -metoden. Da indeksering i python starter med nul, skal vi trække en fra længden. Så sender vi det som et indeks til snor. Således får vi strengens sidste karakter. 

Produktion:

sidste periode ved at beregne længden

Skæring af strenge

I Python har vi en fantastisk teknik, en udvidet form for indeksering kendt som strengskæring. Dette kan bruges til at skære en streng i en understreng. For at udføre udskæringen skal vi give indeksnummeret på det første tegn og det sidste tegn i understrenget i strengens indeks ved at placere et semikolon i midten af ​​dem. For en praktisk demo, se nedenstående eksempelkode.

string = "Fosslinux"
print (streng [1: 6])
print (streng [0: 4])

Produktion:

skære strenge

Spring over tegn på udskæring

Vi kan også springe tegn over, mens vi skærer en streng. Under udskæring af en streng har vi følgende syntaks.

streng [start: stop: trin]

Start og stop er standardindeksnumrene, vi indtil nu har brugt i ovenstående syntaks. Trinparameteren accepterer et heltal, der bruges til at give antallet af tegn, der skal efterlades i hvert trin.

Vendende strenge

Vi kan nemt vende en streng ved hjælp af udskæringsmetoden. Se f.eks. Nedenstående kode. Kopier nedenstående kode i din Python IDE, og kør den.

string = "Fosslinux"
print ("Den modsatte streng af", streng, "er", streng [:: - 1])

Denne kode vender strengen "Fosslinux.”Når vi kører koden, får vi følgende output.

reverserende streng

Undslippe karakter i strenge

Escape-tegn i programmering er en fantastisk måde at tilføje tegn, der ikke kan udskrives på, i strenge. For eksempel, for at tilføje det nye linjetegn i strenge bruger vi flugttegnet "\ n". Se nedenstående kode for en demo.

udskriv ("\ n \ n \ n Hej \ n \ n Verden")

Når vi kører koden, får vi følgende output.

undslippe tegn i strenge

Som vi kan se i koden, tilføjes nye linjer automatisk i stedet for “\ n”. Det er her flugtsekvensen kommer i spil. Der er mange sekvenstegn til stede i python. Jeg vil liste dem alle her; du kan prøve dem alle for at se, hvordan hver fungerer.

Strengmetoder

Vi har lært mange ting om pythonstrenge, men denne del er meget mere nyttigt end nogen anden del af denne artikel. Python leveres med et stort antal indbyggede funktioner til at arbejde med strenge. Ved at bruge dem kan vi nemt udføre mange operationer på strenge. 

Transformerende strengesager

Vi har nogle indbyggede funktioner, som kan bruges til at omdanne streng tilfælde. Lad os diskutere dem alle.

snor.kapitaliser ()

Denne metode bruges til at udnytte målstrengen. Når vi bruger metoden som snor.kapitalisere, det vil returnere strengen ved at bruge den med store bogstaver, dvs.e., omdanne det første tegn til store bogstaver og alle de andre tegn til små bogstaver. For at se en praktisk demo af dets arbejdskopi og køre følgende kode i din Python IDE.

string = "fosslinux"
print (streng.kapitaliser ()
Vi brugte kapitaliser () metode til strengobjektet, med stort kapital. Når vi kører koden, får vi følgende output.
kapitaliserer en streng

.øverst()

Denne metode bruges til at omdanne en streng til store bogstaver, dvs.e., aktiverer alle tegnene i strengen med store bogstaver. 

Eksempel:

string = "Fosslinux"
print (streng.øverst())

Produktion:

omdanne en streng til en stor bogstav

snor.nederste()

Denne metode bruges til at omdanne en streng til små bogstaver, dvs.e., ændrer alle tegnene i strengen til små bogstaver. 

Eksempel:

string = "FOSSLinux"
print (streng.nederste())

Produktion:

omdanne en streng til en stor bogstav

snor.swapcase ()

Dette er en fantastisk metode til at bytte tilfældet med tegn i en streng. Det konverterer små bogstaver til store og omvendte af strengen. For at se dens arbejde skal du bare kopiere og køre følgende kode.  

string = "FOSSlinux"
print (streng.skiftetaske ()

Produktion:

bytte sag af pythonstreng

snor.titel()

Igen er dette en fremragende metode til strengmanipulering, da den omdanner det første tegn i hvert ord, der er til stede i strengen, til store bogstaver. 

Eksempel:

string = "Fosslinux er en stor"
print (streng.titel())

Produktion:

omdanne streng til titel

Du har måske bemærket forskellen mellem kapitaliser () og titel() metode. Det kapitaliser () metoden kun kun verserer det første tegn i strengens første ord, mens titel() metoden kapitaliserer det første tegn i hvert ord, der findes i strengen.

Karakterklassificering

Vi har også metoder til at kontrollere en strengs store og små bogstaver, uanset om de er store, små og så videre. Lad os kort diskutere dem med eksempler.

snor.isalnum ()

Denne metode bruges til at kontrollere, om en streng kun indeholder alfanumeriske tal eller ej, i.e., alle dens tegn skal være tal eller alfabeter, men ingen andre tegn, inklusive mellemrum. 

Eksempel:

string1 = "Fosslinux123"
string2 = "Fosslinux er fantastisk"
string3 = "Fosslinux @ # 123"
udskrive (streng1.isalnum ()) # indeholder kun alfabet og tal
udskrive (streng2.isalnum ()) # indeholder mellemrum
udskriv (streng3.isalnum ()) # indeholder specialtegn

Produktion:

kontrol af alfanumeriske tal i en streng

snor.isalpha ()

Denne strengmetode svarer til ovenstående metode, men den kontrollerer kun for alfabeter, ikke tallene i strengen, hvilket betyder at strengen kun må indeholde alfabeter. Kør f.eks. Følgende kode.

string1 = "Fosslinux123"
string2 = "Fosslinux"
udskrive (streng1.isalpha ()) # indeholder alfabet og tal
udskriv (streng2.isalpha ()) # indeholder kun alfabetet

Vi får False for den første, fordi den indeholder tal, og vi bliver True for den næste, da den kun indeholder alfabeter. 

Produktion:

kontrol af alfabeter i strenge

snor.isdigit ()

Denne metode svarer til ovenstående, men i stedet for alfabeter kontrollerer den, om strengen kun består af cifre. Det returnerer sandt, hvis hvert tegn, der er til stede i en streng, er cifre; ellers returnerer Falsk.

snor.isidentifier ()

Dette er også en god streng metode til python. Ved at bruge denne metode kan vi kontrollere, om en streng er en gyldig python-id eller ej. Jeg har diskuteret reglerne for valg af gyldig python-id i det grundlæggende i python-tutorial. 

Eksempel:

string1 = "Fosslinux123"
string2 = "123Fosslinux"
string3 = "_Fosslinux"
string4 = "Fosslinux @ 1234"
udskrive (streng1.isidentifier ()) # Sandt
udskrive (streng2.isidentifier ()) # Falsk (startet med tal)
udskrive (streng3.isidentifier ()) # Sandt
udskriv (streng4.isidentifier ()) # Falsk (indeholder specialtegn @)

Produktion:

kontrol af identifikator i streng

snor.islower ()

Denne strengmetode kontrollerer, om alle strengtegnene er små bogstaver. Hvis ja, returnerer det Sandt andet returnerer Falsk.

snor.isupper ()

Denne strengmetode kontrollerer, om alle tegnene i en streng er store bogstaver. Hvis ja, returnerer det Sandt andet returnerer Falsk.

snor.titel ()

Det titel () metoden for strengen returnerer Sand, hvis det første alfabet af alle ord i en streng er stort, og alle andre tegn er små bogstaver.

snor.kan udskrives ()

Det returnerer sandt, hvis alle tegnene i strengen kan udskrives, dvs.e., ikke-flugt tegn; ellers returnerer det Falsk. For at se, hvordan det fungerer, skal du køre følgende kode.

string1 = "Fosslinux"
string2 = "\ nFosslinux"
udskrive (streng1.kan udskrives ()) # Sandt
udskrive (streng2.kan udskrives ()) # Falsk (Den indeholder det nye linjetegn)

Produktion:

kontrol af tegn, der kan udskrives

snor.isspace ()

Det snor.isspace () metoden returnerer Sand, hvis alle strengtegnene er hvide mellemrumstegn; ellers vil det returnere Falsk.

Andre vigtige funktioner

snor.tælle()

Count () -metoden for strengobjektet bruges til at få det antal gange, en specificeret værdi forekommer. 

Eksempel:

string = "Fosslinux"
print (streng.tælle ("s"))

I ovenstående kode brugte vi tælle() metode til at få det antal gange, at tegnet “s” vises i strengen “Fosslinux.”

Produktion:

tæller angivne tegn i streng

snor.starter med ()

Denne strengmetode kontrollerer om strengen starter med den understreng, der er angivet i metodens argument. For at se en praktisk demo af dets arbejde skal du kopiere og køre nedenstående kode i en Python IDE.

string = "Fosslinux"
print (streng.starter med ("F"))
print (streng.starter med ("Fo"))
print (streng.starter med ("Foss"))
print (streng.starter med ("Fosss"))

Når vi kører ovenstående kode, får vi True for de første tre, mens den sidste returnerer False, som vist i nedenstående outputbillede.

strengen starter med

snor.slutter med ()

Dette svarer til ovenstående metode, men forskellen er, at mens den forrige kontrollerer starten af ​​en streng, vil den kontrollere i slutningen af ​​strengen.

snor.finde()

String-objektets find () -metode er en vigtig metode til at finde et tegn eller en understreng i en streng. Det accepterer understrengen som et argument og returnerer understrengningsindekset, hvis det findes i strengen; ellers returnerer -1. 

Eksempel:

string = "Fosslinux"
print (streng.find ("lin"))

Når vi kører ovenstående kode, får vi output som 4, som er startindekset for understrengen "lin" i "Fosslinux.”

streng find-funktion

snor.erstatte()

Syntaksen for denne metode erstattes (gammel, ny). Det kræver to argumenter; den ene er den gamle substring, og den nye er den substring. Det erstatter al den gamle substring med den nye substring i hele strengen.

Eksempel:

string = "Fosslinux"
print (streng.udskift ("Foss", ""))
Vi får kun den Linux udskrevet på skærmen som Foss bliver erstattet med mellemrum ved kørsel af ovenstående kode.  Produktion: 
streng erstatte funktion

snor.dele()

Denne metode tager separatoren som et argument, opdeler strengen i henhold til separatoren og returnerer en pythonliste. 

Eksempel:

string = "Fosslinux er et godt sted at begynde at lære linux og python"
print (streng.split (""))
Når vi kører ovenstående kode, får vi en liste over strengordene. Som vi brugte splitfunktionen med hvidt mellemrum som et argument, så opdeler det strengen, når den får hvidt mellemrum.  Produktion: 
splitfunktion for pythonstreng

snor.strip ()

Denne metode bruges til at fjerne alle de ledende og efterfølgende hvide rum fra strengen.

Konklusion

Det handler om strenge og dets anvendelse i Python. Gennemgang af vejledningen giver dig en idé om, hvor nyttigt det fungerer med strenge i python. Det kan også være en god idé at se vejledningen til brug af loop i python, en ultimativ loop til iteration i python. Endelig, inden vi forlader, vil du måske se på metoden til at vende en streng i Python, som er praktisk, når du håndterer strenge.

Sådan vises OSD-overlay i fuldskærms Linux-apps og -spil
Afspilning af fuldskærmsspil eller brug af apps i distraktionsfri fuldskærmstilstand kan afskære dig fra relevante systemoplysninger, der er synlige i...
Top 5 spiloptagelseskort
Vi har alle set og elsket streaming af gameplay på YouTube. PewDiePie, Jakesepticye og Markiplier er kun nogle af de bedste spillere, der har tjent mi...
Sådan udvikler du et spil på Linux
For et årti siden ville ikke mange Linux-brugere forudsige, at deres foretrukne operativsystem en dag ville være en populær spilplatform til kommercie...