Programmering

Arbeider med strenger i Python

Arbeider med strenger i Python

Strengen er en av de mest populære datatypene i python. Vi kan bruke strengens datatype til å lagre tekstdata. I python betraktes ethvert tegn under enkle eller doble anførselstegn som strenger. Disse tegnene kan være hvilke som helst av Unicode-tegnene som støtter i python. I denne opplæringen vil vi lære nesten alt om strengens datatype i python.

For å følge denne opplæringen anbefales det å ha den siste pythonversjonen installert på systemet ditt. Hvis du har en eldre versjon av python installert i systemet ditt, kan du følge vår guide for oppdatering av python på Linux. 

Opprette strenger i Python

For å lage en streng i python, må vi sette karakterenes array-undernoteringer. Python behandler både enkle og doble anførselstegn som det samme, slik at vi kan bruke hvilket som helst av dem mens vi lager en streng. Se eksemplene nedenfor der vi lager en streng, lagrer dem i variabler og skriver dem ut.

# oppretter en streng
greeting = "Hello World"
# utskrift av strengen
skriv ut (hilsen)

Når du kjører ovennevnte kode, får du utdataene Hei Verden.

lage strenger i python

I denne koden har vi opprettet en streng Hei Verdenog lagret den i en variabel som heter hilsen. Deretter bruker vi Python-utskriftsfunksjonen til å vise strengen som er lagret i variabelen. Du får følgende utdata når du kjører koden. Vi kan også opprette en streng med flere linjer ved hjelp av trippel anførselstegn i eksemplet nedenfor.

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

Her er resultatet.

flerlinjesnor i python

I Python er strenger matriser med byte som representerer Unicode-tegn. Men den har ingen innebygd datatype for enkelttegn som i C eller C++. Enhver streng som har en lengde på en regnes som et tegn.

Lengde på strenger 

I mange situasjoner kan det hende vi må beregne litt strenglengde. Det er en innebygd funksjon som kan beregne lengden på en streng. Funksjonen vi skal bruke er len () funksjon.

For å se et praktisk eksempel på len () funksjon, kjør følgende kode i Python IDE.

var = "Dette er en streng"
print ("Lengden på strengen er:", len (var))

Produksjon:

lengde på streng ved bruk av len () -metoden

Vi kan også bruke python for loop, som jeg diskuterte i denne opplæringen, for å beregne strengens lengde. 

Eksempel:

var = "Dette er en streng"
telle = 0
for jeg i var:
count = count + 1
print ("Lengden på strengen er:", count)

Produksjon:

lengden på strengen manuelt ved hjelp av for loop

Strengsammenkobling

Strengsammenkobling er sammenslåing eller sammenføyning av to strenger. Vi kan enkelt bli med i to strenger ved å bruke + -operatøren. La oss se et eksempel på sammenføyning av to strenger i python.

# oppretter to strenger
string1 = "Hei"
string2 = "Verden"
# slå sammen de to strengene
hilsen = streng1 + streng2
skriv ut (hilsen)

I koden ovenfor har vi opprettet to strenger, nemlig "Hello" og "World", og lagrer dem i to variabler som heter streng1 og streng2. Så brukte vi + -operatøren for å bli med de to strengene og lagre dem i en variabel med navnet hilsen og viste den ved hjelp av skrive ut() funksjon.

Produksjon:

sammenkobling av to strenger

Gjentakelse av streng

Vi kan gjenta en streng flere ganger i python ved hjelp av * -operatøren. For eksempel, for å skrive ut strengen “Fosslinux” to ganger, må vi skrive følgende kode.

skriv ut ("Fosslinux" * 2)

Produksjon:

repetisjon av strenger

Formatering av strenger

Det er enkelt å gjøre strengformatering i Python. Det er tre måter:

1. Gammel formateringsstil

Den gamle stilen for formatering av strenger gjøres ved hjelp av% -operatøren. Vi må bruke spesielle symboler som “% s”, “% d”, “% f”, “%.f ”. med strengen, og spesifiser deretter datatypen vi vil formatere på det stedet. La oss se hva dataene er akseptert av symbolene ovenfor.

Se for eksempel koden nedenfor. Du kan kopiere og kjøre koden i din favoritt python IDE.

string1 = "Det er en formatert streng med heltall% d"% (1)
string2 = "Det er en formatert streng med streng% s"% ("Fosslinux")
string3 = "Det er en formatert streng med flytdata% f"% (1.01)
skriv ut (streng1)
skriv ut (streng2)
skriv ut (streng3)

Produksjon:

den gamle stilen med strengformatering i python

Som vi kan se i utdataene, har vi formatert strengene med heltall-, float- og strengdata. Denne strengformateringsmetoden er den eldste måten, men den brukes mindre i dag.

2. Ved hjelp av formatet () -metoden

Dette er en ny strengformateringsteknikk introdusert i Python 3. Format () -funksjonene tar dataene som et argument og erstatter dem i strengen der plassholderen er tilstede. 

Eksempel:

string1 = "Det er en formatert streng med heltall ".format (1)
string2 = "Det er en formatert streng med streng ".format ("Fosslinux")
string3 = "Det er en formatert streng med flytdata ".format (1.01)
skriv ut (streng1)
skriv ut (streng2)
skriv ut (streng3)
print (" er et flott nettsted for læring og ".format ("FossLinux", "Linux", "Python"))

Vi får den formaterte strengen som utgang ved å kjøre ovennevnte kode, som vist i bildet nedenfor.

strengformatering ved hjelp av format () -funksjonen

3. f-strenger

Den siste teknikken for strengformatering er strenginterpolering eller f-strenger, introdusert i pythons versjon 3.6. Vi kan spesifisere et variabelnavn direkte i en f-streng, og Python-tolk erstatter variabelnavnet med dataverdien som tilsvarer det. F-strengene starter med bokstaven f, og vi kan injisere dataene i deres tilsvarende posisjoner direkte. Denne teknikken for strengformatering har blitt ganske populær de siste dagene. For å se en demonstrasjon av hvordan den fungerer, kopier du koden nedenfor og kjører den i din python IDE.

string1 = f "Det er en formatert streng med heltall 1"
string2 = f "Det er en formatert streng med streng 'fosslinux'"
string3 = f "Det er en formatert streng med floatdata 0.01 "
skriv ut (streng1)
skriv ut (streng2)
skriv ut (streng3)
a = "Fosslinux"
b = "Linux"
c = "Python"
print (f "a er et flott nettsted for læring b og c")

Vi brukte strenginterpolasjonsmetoden for å formatere strenger i koden ovenfor. Strengene startet med f-karakteren er f-strenger. F-strengen har gjort arbeidet vårt enkelt, og vi kan skrive variablene direkte i strengene ved å gi variabler under plassholder. Når du kjører ovennevnte kode, får vi følgende utdata.

strengformering ved hjelp av f-strenger

Se etter underlag

Ofte kan det være lurt å sjekke karakterens eksistens eller en understreng i en streng. Dette kan gjøres ved å bruke i og ikke i Python-nøkkelord. For eksempel For å sjekke om Hallo er til stede i strengen Hei Verden, vi må kjøre følgende kode.

x = "hei" i "hei verden"
skriv ut (x)

Når du kjører ovennevnte kode i en python IDE, får vi den boolske verdien ekte som en utgang, noe som betyr at undergrunnen “hei” er til stede i “hei verden”.

se etter en substring i en streng

La se en annen demonstrasjon for å vite hvordan det fungerer på en bedre måte.

string = "FossLinux er et flott nettsted for å lære Linux og Python"
skriv ut ("Fosslinux" i streng)
skriv ut ("FossLinux" i streng)
trykk ("Foss" i streng)
trykk ("Pyt" i streng)
trykk ("hon" i streng)
utskrift ("Python" ikke i streng)

Produksjon:

se etter en understreng i en streng ved hjelp av i nøkkelord

I koden ovenfor har vi brukt begge i og ikke i nøkkelord for å sjekke en delstreng i foreldrestrengen.

Streng som en sekvens av tegn

Pythonstrengen er en sekvens av tegn; de ligner nesten på andre python-ordnede sekvenser som liste, tupel osv. Vi kan trekke ut individuelle tegn fra strengene på mange måter, som å pakke dem ut ved hjelp av variabler og indeksere som jeg vil diskutere i neste emne. Vi kan pakke ut strengene ved å tildele dem variabler. For å se hvordan det fungerer, er det bare å kopiere og kjøre følgende kode i din favoritt python IDE.

språk = 'Fosslinux'
# pakke ut strengen i variabler
a, b, c, d, e, f, g, h, i = språk
skriv ut (a)
trykk (b)
trykk (c)
skrive ut (d)
skrive ut (e)
skrive ut (f)
skrive ut (g)
skrive ut (h)
skrive ut (i)

Produksjon:

pakke ut tegn ved hjelp av variabler

Indekserer strenger

Strengindeksering er en grunnleggende og populær teknikk der vi kan få tilgang til strengens karakter og utføre mange strengoperasjoner veldig enkelt. I programmering starter telling med null (0), så for å få det første tegnet i en streng, må vi gi null i indeksen. For å se et praktisk eksempel på indeksering, kopier og kjør følgende kode i en Python IDE.

string = "Fosslinux"
skriv ut (streng [0])
trykk (streng [1])
trykk (streng [2])
trykk (streng [3])

I koden ovenfor oppretter vi først en streng med navnet Fosslinux, og så bruker vi pythonstrengindeksering for å få strengens første, andre, tredje og fjerde tegn. Vi får følgende utgang i terminalen når du kjører koden.

indekserer strenger

Python støtter også negativ indeksering, noe som er veldig nyttig der vi kan begynne å telle fra høyre side. For eksempel, for å få det nest siste tegnet i en streng "Fosslinux", må vi skrive koden nedenfor.

string = "Fosslinux"
print ("Den siste siste termen for strengen er:", streng [-2])

Når du kjører koden, får vi den nest siste termen av strengen "Fosslinux", som vist i bildet nedenfor.

negativ indeksering i Python-strenger

Å få den siste perioden av en streng

Noen ganger kan det være lurt å få den siste perioden av strengen. Vi har to måter å gjøre dette på: den første bruker negativ indeksering, og den andre bruker len () -funksjonen med indeksering.

For å få den siste perioden av strengen ved hjelp av negativ indeksering, se på koden nedenfor.

string = "Fosslinux"
print ("Den siste termen for strengen er:", streng [-1])

Produksjon:

siste periode ved bruk av negativ indeksering

Vi kan også bruke len () -funksjonen med indeksering for å få den siste perioden. For å gjøre dette, må vi beregne strengens lengde, og da må vi finne tegnet ved å indeksere verdien, som er en mindre enn lengden på strengen. Se eksemplet nedenfor.

string = "Fosslinux"
lengde = len (streng)
last_index = lengde-1
print ("Den siste termen for strengen er:", streng [last_index])

I koden ovenfor opprettet vi først en streng og lagret den i en variabel som heter streng. Deretter beregner vi strengens lengde ved bruk av len () -metoden. Ettersom indeksering i python starter med null, må vi trekke en fra lengden. Så sender vi det som en indeks til streng. Dermed får vi strengens siste karakter. 

Produksjon:

siste periode ved å beregne lengden

Skjæring av strenger

I Python har vi en flott teknikk, en utvidet form for indeksering kjent som strengskæring. Dette kan brukes til å skjære en streng i en understreng. For å gjøre oppskjæringen, må vi gi indeksnummeret til det første tegnet og det siste tegnet i substringen i strengens indeks ved å sette et semikolon i midten. For en praktisk demo, se eksemplet nedenfor.

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

Produksjon:

kutte strenger

Hopp over tegn på oppskæring

Vi kan også hoppe over tegn mens vi kutter en streng. Under kutting av en streng har vi følgende syntaks.

streng [start: stopp: trinn]

Start og stopp er standardindeksnumrene vi brukte i ovennevnte syntaks til nå. Trinnparameteren godtar et helt tall, som brukes til å gi antall tegn som skal etterlates i hvert trinn.

Vendende strenger

Vi kan enkelt reversere en streng ved hjelp av skjæringsmetoden. Se for eksempel koden nedenfor. Kopier koden nedenfor i Python IDE og kjør den.

string = "Fosslinux"
print ("Den omvendte strengen av", streng, "er", streng [:: - 1])

Denne koden vil reversere strengen “Fosslinux.”Når vi kjører koden, får vi følgende utdata.

reverserende streng

Unnslippe karakter i strenger

Escape-tegn i programmering er en fin måte å legge til tegn som ikke kan skrives ut i strenger. For eksempel, for å legge til det nye linjetegnet i strenger, bruker vi flukttegnet "\ n". Se koden nedenfor for en demo.

skriv ut ("\ n \ n \ n Hei \ n \ n Verden")

Når du kjører koden, får vi følgende utdata.

unnslippe tegn i strenger

Som vi kan se i koden blir nye linjer automatisk lagt til i stedet for “\ n”. Det er der rømningssekvensen spiller inn. Det er mange sekvenstegn tilstede i python. Jeg vil liste dem alle her; du kan prøve dem alle for å se hvordan hver fungerer.

Strengmetoder

Vi har lært mange ting om pythonstrenger, men denne delen er mye mer nyttig enn noen annen del av denne artikkelen. Python kommer med et stort antall innebygde funksjoner for å jobbe med strenger. Ved å bruke dem kan vi enkelt utføre mange operasjoner på strenger. 

Transforming String Cases

Vi har noen innebygde funksjoner som kan brukes til å transformere streng tilfeller. La oss diskutere dem alle.

streng.kapitaliser ()

Denne metoden brukes til å kapitalisere på målstrengen. Når vi bruker metoden som streng.kapitalisere, den vil returnere strengen ved å bruke den med store bokstaver, i.e., transformere det første tegnet til store bokstaver og alle de andre tegnene til små bokstaver. For å se en praktisk demo av arbeidskopien og kjøre følgende kode i Python IDE.

string = "fosslinux"
trykk (streng.kapitaliser ()
Vi brukte kapitaliser () metoden for strengobjektet, og kapitaliserer det. Når du kjører koden, får vi følgende utdata.
kapitaliserer en streng

.øverste()

Denne metoden brukes til å transformere en streng til store bokstaver, dvs.e., bruker alle tegnene som er til stede i strengen. 

Eksempel:

string = "Fosslinux"
trykk (streng.øverste())

Produksjon:

transformere en streng til en stor bokstav

streng.Nedre()

Denne metoden brukes til å transformere en streng til små bokstaver, dvs.e., endrer alle tegnene i strengen til små bokstaver. 

Eksempel:

string = "FOSSLinux"
trykk (streng.Nedre())

Produksjon:

transformere en streng til en stor bokstav

streng.bytte ()

Dette er en flott metode for å bytte tilfelle av tegn i en streng. Den konverterer små bokstaver til store bokstaver og omvendt av strengen. For å se hvordan den fungerer, er det bare å kopiere og kjøre følgende kode.  

string = "FOSSlinux"
trykk (streng.bytte ()

Produksjon:

bytte tilfelle av pythonstreng

streng.tittel()

Igjen, dette er en utmerket metode i strengmanipulering da den forvandler det første tegnet i hvert ord som er tilstede i strengen til store bokstaver. 

Eksempel:

string = "Fosslinux er en flott"
trykk (streng.tittel())

Produksjon:

transformere streng til tittel

Du har kanskje lagt merke til forskjellen mellom kapitaliser () og tittel() metode. De kapitaliser () metoden bruker bare det første tegnet i det første ordet i strengen, mens tittel() metoden bruker det første tegnet i hvert ord som er tilstede i strengen.

Karakterklassifisering

Vi har også metoder for å sjekke en streng, uansett om det er store, små bokstaver osv. La oss diskutere dem kort med eksempler.

streng.isalnum ()

Denne metoden brukes til å sjekke om en streng bare inneholder alfanumeriske tall eller ikke, i.e., alle tegnene må være tall eller alfabet, men ingen andre tegn, inkludert mellomrom. 

Eksempel:

string1 = "Fosslinux123"
string2 = "Fosslinux er en flott"
string3 = "Fosslinux @ # 123"
skriv ut (streng1.isalnum ()) # inneholder bare alfabet og tall
skriv ut (streng2.isalnum ()) # inneholder mellomrom
skriv ut (streng3.isalnum ()) # inneholder spesialtegn

Produksjon:

sjekke for alfanumeriske tall i en streng

streng.isalpha ()

Denne strengmetoden ligner på metoden ovenfor, men den sjekker bare for alfabeter, ikke tallene i strengen, noe som betyr at strengen bare må inneholde alfabeter. Kjør for eksempel følgende kode.

string1 = "Fosslinux123"
string2 = "Fosslinux"
skriv ut (streng1.isalpha ()) # inneholder alfabet og tall
skriv ut (streng2.isalpha ()) # inneholder bare alfabetet

Vi får False for den første fordi den inneholder tall, og vi blir True for den neste da den bare inneholder alfabeter. 

Produksjon:

sjekke for alfabet i strenger

streng.isdigit ()

Denne metoden ligner på den ovennevnte, men i stedet for alfabet sjekker den om strengen bare består av sifre. Det returnerer sant hvis hvert tegn som er tilstede i en streng er sifre; annet returnerer Falsk.

streng.isidentifier ()

Dette er også en flott strengemetode for python. Ved å bruke denne metoden kan vi sjekke om en streng er en gyldig pythonidentifikator eller ikke. Jeg har diskutert reglene for valg av gyldig pythonidentifikator i det grunnleggende i python-opplæringen. 

Eksempel:

string1 = "Fosslinux123"
string2 = "123Fosslinux"
string3 = "_Fosslinux"
string4 = "Fosslinux @ 1234"
skriv ut (streng1.isidentifier ()) # Sant
skriv ut (streng2.isidentifier ()) # False (startet med tall)
skriv ut (streng3.isidentifier ()) # Sant
skriv ut (streng4.isidentifier ()) # False (inneholder spesialtegn @)

Produksjon:

sjekker etter identifikator i streng

streng.islower ()

Denne strengmetoden sjekker om alle strengtegnene er små. Hvis ja, returnerer det True else returnerer Falsk.

streng.isupper ()

Denne strengmetoden sjekker om alle tegnene i en streng er store. Hvis ja, returnerer det True else returnerer False.

streng.tittel ()

De tittel () metoden for strengen vil returnere True hvis det første alfabetet av alle ord som er tilstede i en streng er stort, og alle andre tegn er med små bokstaver.

streng.kan skrives ut ()

Det returnerer sant hvis alle tegnene i strengen kan skrives ut, dvs.e., ikke-rømningsfigurer; ellers returnerer den False. For å se hvordan det fungerer, kjør følgende kode.

string1 = "Fosslinux"
string2 = "\ nFosslinux"
skriv ut (streng1.kan skrives ut ()) # True
skriv ut (streng2.kan skrives ut ()) # False (Den inneholder det nye linjetegnet)

Produksjon:

sjekke for utskrivbare tegn

streng.isspace ()

De streng.isspace () metoden vil returnere True hvis alle strengtegnene er mellomromstegn; ellers vil den returnere Falsk.

Andre viktige funksjoner

streng.telle()

Count () -metoden til String-objektet brukes til å få antall ganger en spesifisert verdi oppstår. 

Eksempel:

string = "Fosslinux"
trykk (streng.telle ("s"))

I koden ovenfor brukte vi telle() metode for å få antall ganger tegnet “s” vises i strengen “Fosslinux.”

Produksjon:

teller spesifiserte tegn i streng

streng.begynner med()

Denne strengmetoden sjekker om strengen starter med understrengen gitt i metodens argument. For å se en praktisk demonstrasjon av hvordan den fungerer, kopier og kjør koden nedenfor i en Python IDE.

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

Når du kjører ovennevnte kode, vil vi få True for de første tre mens den siste returnerer False, som vist i utgangsbildet nedenfor.

strengen starter med

streng.slutter med()

Dette ligner på ovennevnte metode, men forskjellen er at mens den forrige sjekker for starten på en streng, vil den sjekke på slutten av strengen.

streng.finne()

Find () -metoden til String-objektet er en viktig metode for å finne et tegn eller en delstreng i en streng. Den aksepterer substring som et argument og returnerer substringindeksen hvis den finnes i strengen; annet returnerer -1. 

Eksempel:

string = "Fosslinux"
trykk (streng.finn ("lin"))

Når du kjører ovennevnte kode, vil vi få utdataene som 4, som er startindeksen til understrenget "lin" i "Fosslinux.”

streng finne funksjon

streng.erstatte()

Syntaksen til denne metoden er erstattet (gammel, ny). Det tar to argumenter; den ene er den gamle undergrunnen, og den nye er undergrunnen. Den erstatter alt det gamle underlaget med det nye underlaget i hele strengen.

Eksempel:

string = "Fosslinux"
trykk (streng.erstatt ("Foss", ""))
Vi får bare Linux skrevet ut på skjermen som Foss blir erstattet med mellomrom når du kjører ovennevnte kode.  Produksjon: 
streng erstatte funksjon

streng.dele()

Denne metoden tar skilletegn som et argument, deler strengen i henhold til skilletegn, og returnerer en pythonliste. 

Eksempel:

string = "Fosslinux er et flott sted å begynne å lære linux og python"
trykk (streng.split (""))
Når du kjører ovennevnte kode, vil vi få en liste over strengordene. Som vi brukte delingsfunksjonen med hvitt mellomrom som et argument, så deler den strengen når den får hvitt mellomrom.  Produksjon: 
split-funksjon for pythonstrenger

streng.stripe ()

Denne metoden brukes til å fjerne alle ledende og etterfølgende mellomrom fra strengen.

Konklusjon

Det handler om strenger og bruken i Python. Å gå gjennom opplæringen vil gi deg en ide om hvor nyttig den fungerer med strenger i python. Det kan også være lurt å se veiledningen om bruk av loop i python, en ultimate loop for iterasjon i python. Til slutt, før vi reiser, vil du kanskje se på metoden for å reversere en streng i Python, som er nyttig når du håndterer strenger.

Hvordan installere og spille Doom på Linux
Introduksjon til Doom Doom-serien stammer fra 90-tallet etter utgivelsen av den originale Doom. Det ble en øyeblikkelig suksess, og fra den tiden og u...
Vulkan for Linux-brukere
Med hver nye generasjon grafikkort ser vi spillutviklere skyve grensene for grafisk troskap og komme et skritt nærmere fotorealisme. Men til tross for...
OpenTTD vs Simutrans
Å lage din egen transportsimulering kan være morsom, avslappende og ekstremt fristende. Derfor må du sørge for at du prøver så mange spill som mulig f...