Python: stringek

Programozás Python

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”.

a = "Hello, World!"
print(a[0])
for x in "szöveg":
  print(x)

len() String hosszának meghatározása.

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

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.

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.

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

Megadható 3. paraméter is, ami a lépésközt jelenti. pl. minden 2. betűt írjunk csak ki
b = „Békéscsaba”; print(b[::2]) Bksaa
String visszafelé kiíratása: print(b[::-1]) abascsékéB

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.

a = "Békéscsaba!"
print(a.upper())
print(a.lower())

capitalize() A string első karakterét nagybetűsre alakítja.

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. De megadható neki karakter is, amit szeretnénk eltávolítani.

a = " Szeretem a Pythont! "
print(a.strip())

Példa: txt = „!!!Szia!”;
print(txt.strip(„!”)) # kimenet: Szia

replace() Ki tudjuk vele cserélni a megadott stringe(ke)t másikra. Nem írja felül a változó értékét!

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.

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.

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!

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

Ellenőrző metódusok (startswith(), endswith(), isalpha(), isdigit(), isalnum(), isspace() )

startswith() és endswith(): Ellenőrzi, hogy a string adott résszel kezdődik, vagy végződik-e.
Példa: txt = „Hello World”; print(txt.startswith(„Hello”)) $\rightarrow$ True
isalpha(): Ellenőrzi, hogy a string összes karaktere betű-e (nem tartalmaz számot, szóközt, írásjelet stb.).
isdigit(): Ellenőrzi, hogy a string összes karaktere szám-e?
isalnum(): Ellenőrzi, hogy a string összes karaktere betű vagy szám-e (azaz nem tartalmaz speciális karaktert vagy szóközt).
isspace(): Ellenőrzi, hogy a string csak szóközökből áll-e?

Stringek formázása (Formatted String Literals)

Használat: A stringet egy f betűvel kell kezdeni, és a beillesztendő változókat/kifejezéseket kapcsos zárójelek közé kell tenni a stringen belül.

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

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)

Frissítve: 2025.11.05.