En streng i Python er en sekvens av tegn. Du kan utføre forskjellige operasjoner på strenger ved hjelp av et sett med innebygde metoder. Strengboolske metoder er en delmengde av disse innebygde metodene som brukes til å kontrollere om den gitte strengen følger visse regler eller ikke.

I denne artikkelen lærer du hvordan du bruker flere forskjellige strengboolske metoder i Python 3 for å bli en mer effektiv utvikler.

Hvordan sjekke om en streng bare inneholder alfanumeriske tegn

Du kan sjekke om den gitte strengen bare består av alfanumeriske tegn ved hjelp av isalnum () metode.

Denne metoden returnerer ekte hvis alle tegnene er alfanumeriske. Alfanumeriske tegn er (A-Z), (a-z) og (0-9). Hvis noen av tegnene i strengen ikke er alfanumeriske, returnerer denne metoden Falsk.

Eksempler:

str1 = "WelcomeToMUO"
# Denne metoden vil returnere "True" ettersom alle tegn er alfanumeriske
sjekkstr1 = str1.isalnum ()
skriv ut (sjekkstr1)
str2 = "Velkommen til MUO"
# Denne metoden vil returnere "Falsk" ettersom strengen har to mellomrom som ikke er alfanumeriske
instagram viewer

checkstr2 = str2.isalnum ()
skriv ut (sjekkstr2)
str3 = "#WelcomeToMUO"
# Denne metoden vil returnere "Falsk" ettersom strengen har et spesialtegn "#" som ikke er alfanumerisk
checkstr3 = str3.isalnum ()
skriv ut (sjekkstr3)
str4 = "274962472"
# Denne metoden vil returnere "True" ettersom alle tegn er alfanumeriske
checkstr4 = str4.isalnum ()
skriv ut (sjekkstr4)
str5 = "Welcome2MUO"
# Denne metoden vil returnere "True" ettersom alle tegn er alfanumeriske
checkstr5 = str5.isalnum ()
skriv ut (sjekkstr5)

Produksjon:

ekte
Falsk
Falsk
ekte
ekte

Hvordan sjekke om en streng består av bare alfabetiske tegn

Du kan sjekke om den gitte strengen bare består av alfabetiske tegn ved hjelp av isalpha () metode.

Denne metoden returnerer ekte hvis alle karakterene er alfabetiske. Alfabetiske tegn er (AZ) og (AZ). Hvis noen av tegnene i strengen ikke er alfabetiske, returnerer denne metoden Falsk.

Eksempler:

str1 = "WelcomeToMUO"
# Denne metoden vil returnere "Sann" ettersom alle tegnene er alfabetiske
sjekkstr1 = str1.isalpha ()
skriv ut (sjekkstr1)
str2 = "Velkommen til MUO"
# Denne metoden vil returnere "Falsk" ettersom strengen har to hvite mellomrom som ikke er alfabetiske
checkstr2 = str2.isalpha ()
skriv ut (sjekkstr2)
str3 = "#WelcomeToMUO"
# Denne metoden vil returnere "Falsk" da strengen har et spesialtegn "#" som ikke er alfabetisk
checkstr3 = str3.isalpha ()
skriv ut (sjekkstr3)
str4 = "274962472"
# Denne metoden vil returnere "Falsk" ettersom alle tegnene ikke er alfabetiske
checkstr4 = str4.isalpha ()
skriv ut (sjekkstr4)
str5 = "Welcome2MUO"
# Denne metoden vil returnere "Falsk" ettersom strengen har et siffer "2" som ikke er alfabetisk
checkstr5 = str5.isalpha ()
skriv ut (sjekkstr5)

Produksjon:

ekte
Falsk
Falsk
Falsk
Falsk

Hvordan sjekke om alle tegn i en streng er desimaler, sifre eller numeriske

Du kan sjekke om den gitte strengen bare består av desimaltegn, sifre eller numeriske tegn ved hjelp av isdecimal (), isdigit (), og isnumeric () metoder henholdsvis. Alle tre metodene ser ut til å være like, men Python-dokumentasjon bemerker forskjellen mellom de tre metodene som:

  • isdecimal (): Desimaltegn er de som kan brukes til å danne tall i base 10, f.eks. U + 0660, ARABISK-INDISK DIGIT NULL. Formelt er et desimaltegn et tegn i Unicode General Category "Nd".
  • isdigit (): Sifre inkluderer desimaltegn og sifre som trenger spesiell håndtering, for eksempel kompatibilitetssifret. Dette dekker sifre som ikke kan brukes til å danne tall i base 10, som Kharosthi-tallene. Formelt sett er et siffer et tegn som har eiendomsverdien Numeric_Type = Digit eller Numeric_Type = Decimal.
  • isnumeric (): Numeriske tegn inkluderer siffertegn, og alle tegn som har Unicode numeriske verdiegenskap, f.eks. U + 2155, VULGARBREKNING EN FIMMTE. Formelt sett er numeriske tegn de med eiendomsverdien Numerisk_Type = Siffer, Numerisk_Type = Desimal eller Numerisk_Type = Numerisk.

Per definisjon kan forholdet mellom de tre metodene fremstilles som:

isdecimal () ⊆ isdigit () ⊆ isnumeric ()

Dette betyr at hvis en streng er en desimal, vil den også være siffer og numerisk.

I slekt: Hvordan lage og bruke tuples i Python

Eksempler:

# Sifre
str1 = "8734947"
skriv ut ("str1:")
skriv ut ("str1.isdecimal ():", str1.isdecimal ())
skriv ut ("str1.isdigit ():", str1.isdigit ())
print ("str1.isnumeric ():", str1.isnumeric ())
# Brøkverdi
str2 = "½"
skriv ut ("str2:")
skriv ut ("str2.isdecimal ():", str2.isdecimal ())
skriv ut ("str2.isdigit ():", str2.isdigit ())
skriv ut ("str2.isnumeric ():", str2.isnumeric ())
# Verdier for overskrift
str3 = "⁰¹²³⁴⁵⁶⁷⁸⁹"
skriv ut ("str3:")
skriv ut ("str3.isdecimal ():", str3.isdecimal ())
skriv ut ("str3.isdigit ():", str3.isdigit ())
skriv ut ("str3.isnumeric ():", str3.isnumeric ())

Produksjon:

str1:
str1.isdecimal (): Sant
str1.isdigit (): Sant
str1.isnumeric (): Sant
str2:
str2.isdecimal (): Usann
str2.isdigit (): Usann
str2.isnumeric (): Sant
str3:
str3.isdecimal (): Usann
str3.isdigit (): Sant
str3.isnumeric (): Sant

Hvordan sjekke om en streng er en gyldig identifikator

Du kan sjekke om den gitte strengen er en gyldig identifikator ved hjelp av isidentifier () metode. Denne metoden returnerer ekte hvis strengen er en gyldig identifikator. Ellers kommer den tilbake Falsk.

En streng sies å være en gyldig identifikator hvis den oppfyller følgende betingelser:

1. Den inneholder bare alfanumeriske tegn og / eller understreker.

2. Det starter ikke med et numerisk tegn.

3. Den inneholder ingen mellomrom.

I slekt: Hvordan bruke for løkker i Python

Eksempler:

str1 = "var1"
# Denne metoden vil returnere "True" da den angitte strengen er en gyldig identifikator
checkstr1 = str1.isidentifier ()
skriv ut (sjekkstr1)
str2 = "var 1"
# Denne metoden vil returnere "Falsk" da strengen inneholder et mellomrom
checkstr2 = str2.isidentifier ()
skriv ut (sjekkstr2)
str3 = "var1 #"
# Denne metoden vil returnere "Falsk" ettersom strengen har et spesialtegn "#"
checkstr3 = str3.isidentifier ()
skriv ut (sjekkstr3)
str4 = "_var1_"
# Denne metoden vil returnere "True" da den angitte strengen er en gyldig identifikator
checkstr4 = str4.isidentifier ()
skriv ut (sjekkstr4)
str5 = "1var"
# Denne metoden vil returnere "False" når strengen begynner med et siffer "1"
checkstr5 = str5.isidentifier ()
skriv ut (sjekkstr5)

Produksjon:

ekte
Falsk
Falsk
ekte
Falsk

Hvordan sjekke om alle tegn i en streng er store eller små bokstaver

Du kan sjekke om den gitte strengen bare består av store bokstaver ved hjelp av isupper () metode.

På samme måte kan du sjekke om den gitte strengen bare består av små bokstaver ved hjelp av islower () metode. Metoden isupper () returnerer ekte hvis alle tegnene i strengen er med store bokstaver og metoden islower () returnerer ekte hvis alle tegnene i strengen er med små bokstaver.

Eksempler:

str1 = "MAKEUSEOF"
skriv ut ("str1:")
print ("str1.isupper ():", str1.isupper ())
print ("str1.islower ():", str1.islower ())
str2 = "makeuseof"
skriv ut ("str2:")
skriv ut ("str2.isupper ():", str2.isupper ())
skriv ut ("str2.islower ():", str2.islower ())
str3 = "MakeUseOf"
skriv ut ("str3:")
skriv ut ("str3.isupper ():", str3.isupper ())
skriv ut ("str3.islower ():", str3.islower ())

Produksjon:

str1:
str1.isupper (): Sant
str1.islower (): Falsk
str2:
str2.isupper (): Usann
str2.islower (): Sant
str3:
str3.isupper (): Usann
str3.islower (): Usann

Hvordan sjekke om alle tegn i en streng er mellomrom

Du kan sjekke om den angitte strengen bare består av mellomromstegn ved hjelp av isspace () metode.

Denne metoden returnerer ekte hvis alle tegnene er mellomrom. Hvis noen av tegnene i strengen ikke er mellomrom, returnerer denne metoden Falsk.

Eksempler:

str1 = ""
# Denne metoden vil returnere "True" da den gitte strengen bare inneholder mellomrom
sjekkstr1 = str1.isspace ()
skriv ut (sjekkstr1)
str2 = "MUO"
# Denne metoden returnerer "Falsk" ettersom strengen inneholder andre tegn enn mellomrom
checkstr2 = str2.isspace ()
skriv ut (sjekkstr2)
str3 = "-"
# Denne metoden returnerer "Falsk" ettersom strengen inneholder annet tegn enn mellomrom
checkstr3 = str3.isspace ()
skriv ut (sjekkstr3)

Produksjon:

ekte
Falsk
Falsk

Hvordan sjekke om teksten følger tittelstilregler

Du kan sjekke om den gitte teksten følger reglene for en tittel ved å bruke tittel () metode.

En tekst sies å følge tittelregler hvis alle ordene i teksten begynner med store bokstaver og resten av ordene er små bokstaver. Hvis den gitte teksten følger denne regelen, returnerer metoden istitle () ekte, ellers kommer den tilbake Falsk.

Eksempler:

str1 = "Velkommen til Muo"
# Denne metoden vil returnere "True" når den gitte strengen følger reglene for en tittel
sjekkstr1 = str1.istitle ()
skriv ut (sjekkstr1)
str2 = "Velkommen til Muo"
# Denne metoden vil returnere "Falsk" ettersom det andre ordet ("til") ikke starter med store bokstaver
checkstr2 = str2.istitle ()
skriv ut (sjekkstr2)
str3 = "velkommen til muo"
# Denne metoden vil returnere "Falsk" ettersom alle ordene begynner med små bokstaver
sjekkstr3 = str3.istitle ()
skriv ut (sjekkstr3)

Produksjon:

ekte
Falsk
Falsk

Gjør programmering morsom ved hjelp av strenger

Strenger er veldig nyttige når du kommuniserer informasjon fra programmet til brukerne. Å bruke boolsk validering er ikke den eneste måten å leke med Python-strenger på.

Du kan konvertere kjedelig tekst til interessant tekst ved å manipulere strenger. Bli kreativ og gjør programmering morsom!

E-post
Lærer du Python? Slik manipulerer du strenger

Å bruke og manipulere strenger i Python kan virke vanskelig, men det er villedende greit.

Les Neste

Relaterte temaer
  • Programmering
  • Python
  • Koding veiledninger
Om forfatteren
Yuvraj Chandra (11 artikler publisert)

Yuvraj er en informatikk-student ved University of Delhi, India. Han brenner for Full Stack Web Development. Når han ikke skriver, utforsker han dybden i forskjellige teknologier.

Mer fra Yuvraj Chandra

Abonner på vårt nyhetsbrev

Bli med på nyhetsbrevet vårt for tekniske tips, anmeldelser, gratis e-bøker og eksklusive tilbud!

Ett steg til…!

Bekreft e-postadressen din i e-posten vi nettopp sendte deg.

.