Szövegek darabolása: a split
Most, hogy belevágtál a programozásba, jól jönne egy olcsó webtárhely? A SzerverPlex kedvező árú cPanel tárhelyeit most 5% kedvezménnyel igénybeveheted, és ezzel az info9 fennmaradását is támogatod.
Kattints a gombra, majd a csomag kiválasztása után aktiváld az INFO9 kuponkódot a fizetés előtt.
Szerzek webtárhelyet!Gyakran előfordul, főleg fájlból történő beolvasásnál, hogy olyan adatfájllal dolgozunk, amelynek egy sorában több különböző adat is van, például pontosvesszővel, szóközzel, vagy tabulátorral elválasztva. Nézzük mondjuk ezt a mintafájlt:
Kovács Péter;1999;170 Szabó András;1987;173 Tóth Noémi;2001;167 Szabados Petra;1998;177
Ebben a fájlban minden sorban 3 adat található:
- Név: az ember teljes neve (szöveg)
- Születési dátum: csak évszám (egész szám)
- Testmagasság: centiméterben megadva (egész szám)
Ahhoz, hogy ezeket az adatokat külön-külön is hasznosítani tudjuk, egy sor beolvasása után a benne található 3 információt szét kell vágnunk. Erre használhatjuk a szövegek split nevű metódusát. A split-nek egy darab kötelező paramétere van, egy karaktert, vagy szövegrészletet kell neki átadnunk, aminél szét szeretnénk szeletelni a szöveget. Végeredményként egy szövegekből álló listát ad vissza, annyi elemmel, ahány darab keletkezett. Nézzünk egy mintát:
sor = "Kovács Péter;1999;170"
darabok = sor.split(";")
A kódrészlet lefutása után a darabok listában 3 elem található:
darabok[0] = "Kovács Péter"
darabok[1]="1999"
darabok[2]="170"
Érdemes megjegyezni, hogy ezek a darabok - a tartalmuktól függetlenül - mind szöveg adattípussal rendelkeznek, ha tehát egy számként szeretnénk dolgozni velük, akkor át kell őket konvertálni a megfelelő konvertáló függvénnyel, például így:
szuletett = int(darabok[1])
Speciális karakterek
Előfordulhat olyan eset, hogy a splittel valamilyen speciális karakternél szeretnénk elvagdosni a szövegünket, például sortöréseknél, vagy tabulátoroknál. Ezeket a speciális karaktereket nem tudjuk csak úgy begépelni a kódba, mert akkor a kódunk nem fog megfelelően működni, helyette az alábbi speciális jelölőket kell használnunk:
Új sor: \n
Tabulátor: \t
Próbáld ki magad is! Nézd át a cikkünkhöz tartozó mintakódot - szerkeszd és futtasd közvetlenül a böngésződben, az info9 LineFlame fejlesztőeszközével!