Hogyan töröljünk adott karaktereket egy karakterláncból?

Bizonyos esetekben szükség lehet arra, hogy egy karakterláncból adott karaktereket eltávolítsunk. Ilyen eset lehet például, ha egy szövegben csak a szavakat szeretnénk feldolgozni. Ehhez az írásjeleket először el kell távolítani.

A feladat többféleképpen is megoldható, ahogy az alább látható.

Azt, hogy ezek közül melyiket alkalmazzuk az függhet attól, hogy

– mennyire vagyunk tájékozottak az alkalmazható nyelvi konstrukciók tekintetében, azaz melyek jutnak egyáltalán eszünkbe,

– melyik megoldást tartjuk könnyebben értelmezhetőbbnek, azaz olvashatóbbnak,

– mennyire szempont a megoldás költségessége (memóriafelhasználás és/vagy futási idő). Ha ezek szempontok, mely megoldások teljesítik az ilyen jellegű követelményeket.

Például az első függvényben alkalmazott, ciklussal megvalósított megoldás hátránya, hogy bár gyors, de memóriafelhasználásban nem optimális, mert minden helyettesítési ciklusban egy új text példányt állít elő.

A 2. és 3. megoldás a join() függvénnyel operál. Olvashatóság szempontjából a filter() függvényt használó nem annyira jó.

A 4., 5. és 6. megoldások mindegyike a translate() metódust használja, és abban térnek el, hogy ennek argumentumát hogyan állítjuk elő. Olvashatóság szempontjából az utolsó változat talán a legkedvezőbb. Ugyanakkor, a translate() és a maketrans() metódusok használata nem annyira magától értetődő, mint az előző megoldásokban alkalmazott konstrukcióké.

Ahogy látjuk a karaktereltávolító függvényekben a str típus translate(), maketrans() és replace() metódusai szerepeltek. Ezek használatáról további részletek példákkal illusztrálva olvashatók a Python tudásépítés lépésről lépésre című e-könyv „Beépített típusok nyilvános metódusai” fejezetében a karakterláncok metódusait tárgyaló alcím alatt. A filter(), illetve a map() és ord() függvényekről a „Beépített függvények” fejezetben, a generátorkifejezésekről pedig a „Műveletek” fejezet „Iterátorépítés – generátorkifejezés” cím alatt lehet tájékozódni.

Érdekel a Python tudásépítés lépésről lépésre az alapoktól az első asztali alkalmazásig című e-könyv.