Python Řetězce: Nahradit, Připojit, Rozdělit, Reverse
⚡ Chytré shrnutí
Python Řetězce jsou neměnné sekvence znaků s mnoha vestavěnými metodami pro zpracování textu. Níže uvedené příklady demonstrují dělení, řetězcové operátory, replace(), upper() a lower(), join(), reversing a split() s využitím spustitelné funkce.

In Python, všechno je objekt a řetězce jsou také objekty. A Python Řetězec lze vytvořit jednoduše uzavřením znaků do dvojitých uvozovek.
Například:
var = "Ahoj světe!"
Přístup k hodnotám v řetězcích
Python nepodporuje typ postavy; tyto jsou považovány za řetězce o délce jedna, také považované za podřetězec.
Pro dělení používáme hranaté závorky spolu s indexem nebo indexy, abychom získali podřetězec.
var1 = "Guru99!"
var2 = "Software Testing"
print ("var1[0]:",var1[0])
print ("var2[1:5]:",var2[1:5])
Výstup:
var1[0]: G var2[1:5]: oftw
Různé řetězce Operatorů
Existují různé řetězcové operátory, které lze použít různými způsoby, například ke zřetězení různých řetězců.
Předpokládejme, že pokud a=guru a b=99, pak a+b= „guru99“. Podobně, pokud použijete a*2, vrátí to „GuruGuru„. Podobně můžete v řetězci použít i jiné operátory.
| OperaTor | Description | Příklad |
|---|---|---|
| [] | Slice – udává písmeno z daného indexu | a[1] vrátí „u“ ze slova Guru jako takové (0=G, 1=u, 2=r a 3=u)
x="Guru" print (x[1]) |
| [:] | Rozsahový úsek – vrací znaky z daného rozsahu | x [1:3] dostaneme „ur“ ze slova GuruNezapomeňte, že se nebude brát v úvahu 0, což je G, ale slovo za ním bude ur.
x="Guru" print (x[1:3]) |
| in | Členství – vrací hodnotu true, pokud v daném řetězci existuje písmeno | u je přítomno ve slově Guru a proto to dá 1 (Pravda)
x="Guru"
print ("u" in x)
|
| ne v | Členství – vrací hodnotu true, pokud písmeno v daném řetězci neexistuje | l se ve slově nevyskytuje Guru a proto to dá 1
x="Guru"
print ("l" not in x)
|
| r/R | Nezpracovaný řetězec potlačuje skutečný význam únikových znaků. | Tisk r'\n' tisky \n a tisk R'/n' tisky \n |
| % – Používá se pro formát řetězce | %r – Vloží kanonickou řetězcovou reprezentaci objektu (např. repr(o)) %s – Vloží prezentační řetězcovou reprezentaci objektu (např. str(o)) %d – Naformátuje číslo pro zobrazení | Výstupem tohoto kódu bude „guru 99“.
name = 'guru'
number = 99
print ('%s %d' % (name,number))
|
| + | Spojuje 2 řetězce | Zřetězuje řetězce a dává výsledek
x="Guru" y="99" print (x+y) |
| * | Opakovat | Vytiskne znak dvakrát.
x="Guru" y="99" print (x*2) |
Několik dalších příkladů
Můžete aktualizovat Python řetězec opětovným přiřazením proměnné jinému řetězci. Nová hodnota může souviset s předchozí hodnotou nebo s úplně jiným řetězcem.
x = "Hello World!" print(x[:6]) print(x[0:6] + "Guru99")
Výstup:
Hello Hello Guru99
Hodnocení: – Řez [:6] nebo [0:6] má stejný efekt.
Python Metoda String replacement().
Metoda replace() vrací kopii řetězce, ve které byly hodnoty starého řetězce nahrazeny novou hodnotou.
oldstring = 'I like Guru99'
newstring = oldstring.replace('like', 'love')
print(newstring)
Výstup:
I love Guru99
Změna řetězce velkých a malých písmen
In Python, můžete dokonce změnit řetězec na velká nebo malá písmena.
string="python at guru99" print(string.upper())
Výstup:
PYTHON AT GURU99
Stejně tak můžete použít i další funkce, jako například capitalize().
string="python at guru99" print(string.capitalize())
Výstup:
Python at guru99
Řetězec můžete také převést na malá písmena.
string="PYTHON AT GURU99" print(string.lower())
Výstup:
python at guru99
Použití funkce „připojit“ pro řetězec
Funkce join() je flexibilnější způsob zřetězení řetězců. S funkcí join() můžete do řetězce přidat libovolný znak.
Pokud například chcete přidat dvojtečku (:) za každý znak v řetězci “Python“, můžete použít následující kód.
print(":".join("Python"))
Výstup:
P:y:t:h:o:n
Reversing String
Pomocí funkce reversed() můžete obrátit směr řetězce. Například pokud máme řetězec „12345“ a pak použijeme kód pro funkci reversed(), jak je znázorněno níže.
string="12345"
print(''.join(reversed(string)))
Výstup:
54321
Rozdělené struny
Rozdělit řetězce je další funkcí, kterou lze použít PythonPodívejme se na to pro řetězec „guru99 career guru99“. Nejprve zde řetězec rozdělíme pomocí příkazu word.split a získáme výsledek.
word="guru99 career guru99"
print(word.split(' '))
Výstup:
['guru99', 'career', 'guru99']
Abychom tomu lépe porozuměli, ukážeme si ještě jeden příklad rozdělení. Místo mezery (' ') ji nahradíme ('r'), což rozdělí řetězec všude, kde je v něm uvedeno 'r'.
word="guru99 career guru99"
print(word.split('r'))
Výstup:
['gu', 'u99 ca', 'ee', ' gu', 'u99']
Důležitá poznámka: In Python, řetězce jsou neměnné.
Zvažte následující kód:
x = "Guru99"
x.replace("Guru99","Python")
print(x)
Výstup:
Guru99
Ještě se to vrátí Guru99. Je to proto, že x.replace(“Guru99“, „Python“) se vrátí kopie X s provedenými náhradami.
Pro sledování změn budete muset použít následující kód.
x = "Guru99"
x = x.replace("Guru99","Python")
print(x)
Výstup:
Python
Výše uvedené kódy jsou Python 3 příklady. Pokud je chcete spustit v Python 2, zvažte prosím následující kód.
Python 2 Příklad
#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
Výstup:
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 zavedl funkci .format(), která odstraňuje používání těžkopádných %d a tak dále pro formátování řetězců.
" Dozvědět se víc o Python Řetězec split()
