Python Snaren: vervangen, samenvoegen, splitsen, Reverse
⚡ Slimme samenvatting
Python Strings zijn onveranderlijke reeksen tekens met veel ingebouwde methoden voor tekstverwerking. De onderstaande voorbeelden demonstreren slicing, stringoperatoren, replace(), upper() en lower(), join(), reversing en split() met behulp van uitvoerbare code.
In PythonAlles is een object, en strings zijn ook objecten. Python Een tekenreeks kan eenvoudig worden gemaakt door tekens tussen dubbele aanhalingstekens te plaatsen.
Bijvoorbeeld:
var = "Hallo Wereld!"
Toegang tot waarden in tekenreeksen
Python ondersteunt geen tekentypeDeze worden behandeld als tekenreeksen van lengte één, en worden ook beschouwd als een subtekenreeks.
We gebruiken vierkante haken om te snijden langs de index of indices om een substring te verkrijgen.
var1 = "Guru99!"
var2 = "Software Testing"
print ("var1[0]:",var1[0])
print ("var2[1:5]:",var2[1:5])
Output:
var1[0]: G var2[1:5]: oftw
Diverse snaren Operaverdraaid
Er zijn verschillende tekenreeksoperatoren die op diverse manieren gebruikt kunnen worden, bijvoorbeeld om verschillende tekenreeksen samen te voegen.
Stel dat a=guru en b=99, dan is a+b= “guru99”. Op dezelfde manier, als je a*2 gebruikt, krijg je “GuruGuruOp dezelfde manier kun je andere operatoren in een tekenreeks gebruiken.
| Operator | Beschrijving | Voorbeeld |
|---|---|---|
| [] | Slice – het geeft de letter van de opgegeven index. | a[1] zal “u” geven van het woord Guru als zodanig (0=G, 1=u, 2=r en 3=u)
x="Guru" print (x[1]) |
| [:] | Bereikslice – hiermee worden de tekens uit het opgegeven bereik weergegeven. | x [1:3] het zal “ur” geven van het woord GuruOnthoud dat het de 0 (oftewel G) niet in aanmerking neemt, maar het woord dat daarna komt, namelijk 'ur'.
x="Guru" print (x[1:3]) |
| in | Lidmaatschap – retourneert true als een letter voorkomt in de gegeven tekenreeks. | De letter u is aanwezig in het woord. Guru en daarom zal het 1 (Waar) opleveren.
x="Guru"
print ("u" in x)
|
| niet in | Lidmaatschap – retourneert true als een letter niet voorkomt in de gegeven tekenreeks. | De letter l is niet aanwezig in het woord. Guru en daarom zal het 1 opleveren
x="Guru"
print ("l" not in x)
|
| r/r | Onbewerkte tekenreeks onderdrukt de werkelijke betekenis van escape-tekens. | Afdrukken r'\n' drukt \n af en drukt R'/n' af \n |
| % – Gebruikt voor tekenreeksindeling | %r – Hiermee wordt de canonieke tekenreeksweergave van het object ingevoegd (d.w.z. repr(o)) %s – Hiermee wordt de presentatietekenreeksweergave van het object ingevoegd (d.w.z. str(o)) %d – Hiermee wordt een getal geformatteerd voor weergave | De uitvoer van deze code zal “guru 99” zijn.
name = 'guru'
number = 99
print ('%s %d' % (name,number))
|
| + | Het voegt 2 strings samen | Het voegt strings samen en geeft het resultaat
x="Guru" y="99" print (x+y) |
| * | herhaling | Het teken wordt tweemaal afgedrukt.
x="Guru" y="99" print (x*2) |
Nog enkele voorbeelden
Je kunt een update uitvoeren Python Een tekenreeks wijzigen door een variabele een andere tekenreekswaarde toe te wijzen. De nieuwe waarde kan gerelateerd zijn aan een eerdere waarde, of aan een volledig andere tekenreeks.
x = "Hello World!" print(x[:6]) print(x[0:6] + "Guru99")
Output:
Hello Hello Guru99
Note: – Slice [:6] of [0:6] heeft hetzelfde effect.
Python Tekenreeks vervangen() Methode
De replace()-methode retourneert een kopie van de tekenreeks waarin de waarden van de oude tekenreeks zijn vervangen door de nieuwe waarde.
oldstring = 'I like Guru99'
newstring = oldstring.replace('like', 'love')
print(newstring)
Output:
I love Guru99
Tekenreeksen voor hoofdletters en kleine letters wijzigen
In Python, kunt u de tekenreeks zelfs wijzigen in hoofdletters of kleine letters.
string="python at guru99" print(string.upper())
Output:
PYTHON AT GURU99
Je kunt op dezelfde manier ook andere functies gebruiken, zoals capitalize().
string="python at guru99" print(string.capitalize())
Output:
Python at guru99
Je kunt je tekenreeks ook omzetten naar kleine letters.
string="PYTHON AT GURU99" print(string.lower())
Output:
python at guru99
Gebruik de functie “join” voor de string
De `join()`-functie is een flexibelere manier om een tekenreeks samen te voegen. Met de `join()`-functie kun je elk willekeurig teken aan de tekenreeks toevoegen.
Als u bijvoorbeeld een dubbele punt (:) wilt toevoegen na elk teken in de tekenreeks “Python”, kunt u de volgende code gebruiken.
print(":".join("Python"))
Output:
P:y:t:h:o:n
Reverende String
Met de functie `reversed()` kun je een tekenreeks omkeren. Als we bijvoorbeeld de tekenreeks "12345" hebben, passen we de code voor de `reversed()`-functie toe zoals hieronder weergegeven.
string="12345"
print(''.join(reversed(string)))
Output:
54321
Gesplitste snaren
Het splitsen van strings is een andere functie die kan worden toegepast PythonLaten we eens kijken naar de tekenreeks "guru99 career guru99". Eerst splitsen we de tekenreeks met behulp van het commando word.split en krijgen we het resultaat.
word="guru99 career guru99"
print(word.split(' '))
Output:
['guru99', 'career', 'guru99']
Om dit beter te begrijpen, bekijken we nog een voorbeeld van splitsen. In plaats van een spatie (' '), vervangen we deze door ('r'), waardoor de tekenreeks wordt gesplitst op de plaatsen waar 'r' voorkomt.
word="guru99 career guru99"
print(word.split('r'))
Output:
['gu', 'u99 ca', 'ee', ' gu', 'u99']
Belangrijke opmerking: In PythonStrings zijn onveranderlijk.
Beschouw de volgende code:
x = "Guru99"
x.replace("Guru99","Python")
print(x)
Output:
Guru99
Het zal nog steeds terugkeren Guru99. Dit komt doordat x.replace(“Guru99”,Python”) keert terug een kopie van X met vervangingen gemaakt.
Je moet de volgende code gebruiken om de wijzigingen te bekijken.
x = "Guru99"
x = x.replace("Guru99","Python")
print(x)
Output:
Python
De bovenstaande codes zijn Python 3 voorbeelden. Als je ze wilt uitvoeren in Python 2. Bekijk de volgende code.
Python 2 Voorbeeld
#Accessing Values in Strings
var1 = "Guru99!"
var2 = "Software Testing"
print "var1[0]:",var1[0]
print "var2[1:5]:",var2[1:5]
#Some more examples
x = "Hello World!"
print x[:6]
print x[0:6] + "Guru99"
#Python String replace() Method
oldstring = 'I like Guru99'
newstring = oldstring.replace('like', 'love')
print newstring
#Changing upper and lower case strings
string="python at guru99"
print string.upper()
string="python at guru99"
print string.capitalize()
string="PYTHON AT GURU99"
print string.lower()
#Using "join" function for the string
print":".join("Python")
#Reversing String
string="12345"
print''.join(reversed(string))
#Split Strings
word="guru99 career guru99"
print word.split(' ')
word="guru99 career guru99"
print word.split('r')
x = "Guru99"
x.replace("Guru99","Python")
print x
x = "Guru99"
x = x.replace("Guru99","Python")
print x
Output:
var1[0]: G var2[1:5]: oftw Hello Hello Guru99 I love Guru99 PYTHON AT GURU99 Python at guru99 python at guru99 P:y:t:h:o:n 54321 ['guru99', 'career', 'guru99'] ['gu', 'u99 ca', 'ee', ' gu', 'u99'] Guru99 Python
Python heeft een .format()-functie geïntroduceerd die het gebruik van omslachtige %d en dergelijke voor stringopmaak overbodig maakt.
" Leer meer over Python Tekenreeks splitsen()

