Röviden tömören: szöveg. De egy string lehet akár több szavas is… pelda=”Több szavas string” A string tartalmát idézőjelek vagy aposztrófok közé kell tenni!
A stringek karakterein végig tudunk menni, hasonlóan egy listához. A számozásuk is ugyanúgy működik, a 0.indexű elem a string első „betűje”.
1 2 3 4 5 |
a = "Hello, World!" print(a[0]) for x in "szöveg": print(x) |
len() String hosszának meghatározása.
1 2 |
a = "Hello, World!" print(len(a)) |
in Segítségével meg tudjuk nézni, adott string szerepel-e egy másikban? A kis és nagybetűkre figyelni kell! Természetesen itt is használható a not in
1 2 |
txt = "Szeretem a programozást!" print("szeret" in txt) #false, mert kis-nagybetűt megkülönbözteti a Python! |
String összefűzése: + művelettel.
1 2 3 4 |
a = "Buda" b = "pest" c = a + b print(c) |
String darabolása – hasonlóan működik, mint a listáknál, meg lehet adni mettől-meddig akarjuk kiíratni. Itt is használható a : is, és a negatív indexelés is.
1 2 3 4 5 |
b = "Békéscsaba" print(b[0:5]) #Békés print(b[:5]) #Békés print(b[5:]) #csaba print(b[-5:-3]) #cs |
lower() és upper() String átalakítása kisbetűssé és nagybetűssé. Ennek főleg keresésnél van haszna, célszerű átalakítani a keresett szót és azt is amiben keresünk végig egyformára.
casefold() Kisbetűssé alakítja a szöveget. „Erősebb”, mint a lower.
1 2 3 |
a = "Békéscsaba!" print(a.upper()) print(a.lower()) |
capitalize() A string első karakterét nagybetűsre alakítja.
1 2 3 |
szoveg = "szeretek programozni de nagyon!" x = szoveg.capitalize() print (x) |
strip() Eltávoltja a szöveg előtti és utáni szóközöket.
1 2 |
a = " Szeretem a Pythont! " print(a.strip()) |
replace() Ki tudjuk vele cserélni a megadott stringe(ke)t másikra. Nem írja felül a változó értékét!
1 2 3 4 5 6 |
a = "bába" print(a.replace("á", "a")) #baba a = "Békéscsaba" print(a.replace("Békés", "Pilis")) #Piliscsaba print(a) #Békéscsaba |
split() Segítségével darabolni tudjuk a megadott string alapján a szöveget.
1 2 3 4 |
a = "első, második!" b = a.split(",") print(a) print(b) |
format() Segítségével a numerikus típusú változók értékét is ki tudjuk íratni szövegként. Hasonlóan a c#-hoz itt is használhatunk helyörzőket {0}{1}… számozásuk 0-val kezdődik.
1 2 3 4 |
mennyiseg = 3 ar = 300 rendeles = " {0} db tojás {1} forint?!" print(rendeles.format(mennyiseg, ar)) |
count() Megszámolhatjuk adott string hányszor tartalmaz egy másikat. Meg lehet adni neki azt is, mettől-meddig keressen!
1 2 3 4 5 |
txt = "A lényeg lényegének lényege lényegében lényegtelen!" x = txt.count("lényeg") print(x) #5 x = txt.count("lényeg", 0, 20) print(x) #2 |
Példák:
Készíts felhasználó nevet! A felhasználói név a vezetéknév és a keresztnév első 3 betűjéből, illetve a születési hónapból és napból álljon! pl: Teszt Elek 1999.05.06 >> tesele0506
1 2 3 4 5 6 7 8 9 10 11 12 13 |
a = "1999.05.06." b = "Teszt Elek" n = b.split(" ") # szétvágom a szóköznél n1 = n[0] # vezetéknév n2 = n[1] # keresznév n1 = n1[:3] # vezetéknév első 3 betűje n2 = n2[:3] # keresznév első 3 betűje datum = a.split(".") # dátum bontása a pontoknál ho = datum[1] # hónap nap = datum[2] # nap felhasznalo = n1+n2+ho+nap felhasznalo = felhasznalo.lower() print(felhasznalo) |