Med Python kan du manipulera strängar på ett antal sätt. Python tillhandahåller olika funktioner, operatorer och metoder som kan användas för att manipulera strängar. Du kan dela en sträng, sammanfoga två eller flera strängar, interpolera variabler i en sträng och många fler.
Strängar i Python kan definieras som en sekvens av tecken. De är oföränderliga, vilket innebär att de inte kan ändras när de väl har deklarerats. Istället skapas en kopia av strängen i manipulationssyfte.
Hur man skapar strängar i Python
Att skapa strängar i Python är lika enkelt som att tilldela värde till en variabel i Python. Du kan använda enkla citattecken (‘ ‘), dubbla citattecken (” “), eller tre enkla (”’ ”’) /dubbla citattecken(“”” “””) för att skapa strängar.
str1 = 'Hello!'
str2 = "Hello!"
str3 = """Hello!"""
str4 = '''Hello!'''
print(str1)
print(str2)
print(str3)
print(str4)
Produktion:
Hello!
Hello!
Hello!
Hello!
Fördelen med att använda ett dubbelcitattecken för att skapa en sträng är att du kan använda ett enda citattecken i det dubbla citattecken. Python kommer att behandla det enda citattecken som en del av strängen.
s = "Using 'single quote' inside double quotes"
print(s)
Produktion:
Using 'single quote' inside double quotes
Om du vill skapa en flerradssträng är det bästa valet att använda tre enkla citattecken(”’ ”’) / tre dubbla citattecken(“”” “””). När du skapar strängar med enkla citattecken (‘ ‘) eller dubbla citattecken (” “), måste du använda n escape-tecken för en ny rad (radbrytning). Men genom att använda tre citattecken behöver du inte göra det.
s1 = """This is a multiline
string using three double quotes"""
s2 = "This is a multiline
string using double quotes"
print(s1)
print(s2)
Produktion:
This is a multiline
string using three double quotes
This is a multiline
string using double quotes
Hur man får åtkomst till strängtecken
Om du vill komma åt enskilda karaktärer, då Indexering är använd; om du vill komma åt en rad tecken, då Skiva är använd.
Strängindexering
Precis som alla andra Python-datatyper börjar strängindex med 0. Indexintervallet är från 0 till längden på strängen – 1. Pythonsträngar stöder även negativ indexering: -1 poäng till det sista tecknet i strängen, -2 poäng till det 2:a sista tecknet i strängen och så vidare.
s = "MAKEUSEOF"
# Prints whole string
print(s)
# Prints 1st character
print(s[0])
# Prints 2nd character
print(s[1])
# Prints last character
print(s[-1])
# Prints 2nd last character
print(s[-2])
Produktion:
MAKEUSEOF
M
A
F
O
Du måste använda heltal för att komma åt tecken annars får du ett Skrivfel. Detta kommer också att hända om du försöker komma åt element som ligger utanför räckvidden.
Skrivfel:
s = "MAKEUSEOF"
# TypeError will be thrown if you don't use integers
print(s[1.5])
Produktion:
TypeError: string indices must be integers
IndexError:
s = "MAKEUSEOF"
# IndexError will be thrown if you try to use index out of range
print(s[88])
Produktion:
TypeError: string indices must be integers
Strängskiva
Du kan komma åt ett antal tecken med hjälp av kolonoperatorn ( : ).
s = "MAKEUSEOF"
# Prints from 0th index(included) to 4th index(excluded)
print(s[0:4])
# Prints from 3rd last index(included) to last index(excluded)
print(s[-3:-1])
# Prints from 2nd index to last of the string
print(s[2:])
# Prints from start of the string to 6th index(excluded)
print(s[:6])
Produktion:
MAKE
EO
KEUSEOF
MAKEUS
Hur man använder operatorer på strängar
Använda operatören +
Operatorn + används för att sammanfoga/sammanfoga två eller flera strängar. Den returnerar den resulterande sammanlänkade strängen.
s1 = "MAKE"
s2 = "USE"
s3 = "OF"
s = s1 + s2 + s3
# Prints the concatenated string
print(s)
Produktion:
MAKEUSEOF
Använda * Operator
Detta används för att upprepa en sträng ett givet antal gånger.
str = "MUO-"
# Prints str 5 times
print(str * 5)
# Prints str 2 times
print(2 * str)
x = 3
# Prints str x times
# Here, x = 3
print(str * x)
Produktion:
MUO-MUO-MUO-MUO-MUO-
MUO-MUO-
MUO-MUO-MUO-
Använder in-operatören
Detta är en medlemsoperatör som kontrollerar om den första operanden finns i den andra operanden eller inte. Om den första operanden finns i den andra operanden så kommer den tillbaka Sann.
Annars kommer den tillbaka Falsk.
str = "MAKEUSEOF"
# Returns True as MAKE is present in str
print("MAKE" in str)
# Returns False as H is not present in str
print("H" in str)
Produktion:
True
False
Använder inte operatören
En annan medlemsoperatör, inte i fungerar motsatsen till in-operatören. Om den första operanden finns i den andra operanden, kommer den tillbaka Falsk. Annars kommer den tillbaka Sann.
str = "MAKEUSEOF"
# Returns True as Hello is not present in str
print("Hello" not in str)
# Returns False as M is present in str
print("M" not in str)
Produktion:
True
False
Escape-sekvenser i strängar
Med hjälp av escape-sekvenserna kan du placera specialtecken i strängen. Allt du behöver göra är att lägga till ett snedstreck (/) precis före karaktären du vill fly. Om du inte undkommer karaktären, ger Python ett fel.
s="We are using apostrophe " in our string'
print(s)
Produktion:
We are using apostrophe ' in our string
Hur man infogar variabler i strängar
Variabler kan användas inuti strängarna genom att interpolera variabler i klammerparenteser. Du måste också lägga till en gemen f eller versaler F precis innan du öppnar strängens citat.
s1 = "Piper"
s2 = "a"
s3 = "pickled"
str = f"Peter {s1} picked {s2} peck of {s3} peppers"
# s1, s2 and s3 are replaced by their values
print(str)
a = 1
b = 2
c = a + b
# a, b and c are replaced by their values
print(f"Sum of {a} + {b} is equal to {c}")
Produktion:
Peter Piper picked a peck of pickled peppers
Sum of 1 + 2 is equal to 3
Hur man använder inbyggda strängfunktioner
len() Funktion
Denna funktion används för att hitta längden på strängen. Det är en av de mest använda funktionerna i Python.
str = "MAKEUSEOF"
# Prints the number of characters in "MAKEUSEOF"
print(len(str))
Produktion:
9
ord() Funktion
Under tiden används denna funktion för att hitta ett teckens heltalsvärde. Python är ett mångsidigt språk, det stöder ASCII såväl som Unicode-tecken.
c1 = ord('M')
c2 = ord('a')
c3 = ord('A')
c4 = ord('$')
c5 = ord('#')
print(c1)
print(c2)
print(c3)
print(c4)
print(c5)
Produktion:
77
97
65
36
35
chr() Funktion
Använd chr() för att hitta teckenvärdet för ett heltal.
i1 = chr(77)
i2 = chr(97)
i3 = chr(65)
i4 = chr(36)
i5 = chr(35)
print(i1)
print(i2)
print(i3)
print(i4)
print(i5)
Produktion:
M
a
A
$
#
str() Funktion
Använd den här funktionen för att konvertera alla Python-objekt till en sträng.
num = 73646
# Converts num (which is integer) to string
s = str(num)
# Prints the string
print(s)
# Type functions returns the type of object
# Here, <class 'str'> is returned
print(type(s))
Produktion:
73646
<class 'str'>
Hur man går med och delar strängar i Python
Dela en sträng
Du kan använda metoden split() för att dela upp strängen i en lista med strängar baserad på en avgränsare.
str1 = "Peter-Piper-picked-a-peck-of-pickled-peppers"
splitted_list1 = str1.split('-')
# Prints the list of strings that are split by - delimiter
print(splitted_list1)
str2 = "We surely shall see the sun shine soon"
splitted_list2 = str2.split(' ')
# Prints the list of strings that are split by a single space
print(splitted_list2)
Produktion:
['Peter', 'Piper', 'picked', 'a', 'peck', 'of', 'pickled', 'peppers']
['We', 'surely', 'shall', 'see', 'the', 'sun', 'shine', 'soon']
Gå med i strängar
Du kan använda metoden join() för att sammanfoga alla element i ett itererbart objekt. Du kan använda vilken avgränsare du vill för att sammanfoga elementen.
list1 = ["I", "thought", "I", "thought", "of", "thinking", "of", "thanking", "you"]
# Joins the list as a string by using - as a delimiter
str1 = "-".join(list1)
print(str1)
list2 = ["Ed", "had", "edited", "it"]
# Joins the list as a string by using a single space as a delimiter
str2 = " ".join(list2)
print(str2)
Produktion:
I-thought-I-thought-of-thinking-of-thanking-you
Ed had edited it
Nu förstår du strängmanipulation
Att hantera strängar och texter är en integrerad del av programmering. Strängar fungerar som ett medium för att kommunicera information från programmet till användaren av programmet. Med Python kan du manipulera strängarna som du vill.
Om författaren
Yuvraj Chandra (80 artiklar publicerade)
Yuvraj är en datavetenskapsstudent vid University of Delhi, Indien. Han brinner för Full Stack Web Development. När han inte skriver undersöker han djupet i olika teknologier.
Mer från Yuvraj Chandra
Prenumerera på vårt nyhetsbrev
Gå med i vårt nyhetsbrev för tekniska tips, recensioner, free e-böcker och exklusiva erbjudanden!
Klicka här för att prenumerera
