Ebben a cikkben azt tárgyaljuk, hogyan lehet egy vagy több karaktert helyettesíteni egy karakterláncban a Pythonban.
A Python biztosít egy str.replace () függvényt, azaz
str.replace(old, new , count)
Visszaad egy új karakterlánc objektumot, amely a meglévő karakterlánc másolata helyettesítve tartalom. Ezenkívül
- Ha a count nincs megadva, akkor egy karakterláncot ad vissza a „régi” összes előfordulásával, helyette az „új” karakterlánccal.
- Ha a count paramétert átadják, akkor az adjon vissza egy karakterláncot a „régi” karakterlánc első „count” előfordulásával, az „új” karakterlánccal helyettesítve.
Értsük meg példákkal,
cserélje le az adott karakter összes előfordulását / string egy karakterláncban
Tegyük fel, hogy van egy karakterláncunk, azaz
mainStr = "Hello, This is a sample string"
Most lehetővé teszi a ‘s összes előfordulásának helyettesítését ” ‘X betűvel, azaz
"""Replace all occurrences of given character or string in main string"""otherStr = mainStr.replace("s" , "X")
A otherStr tartalma a következő,
Hello, ThiX iX a Xample Xtring
As a karakterláncok megváltoztathatatlanok a Pythonban, ezért nem tudjuk megváltoztatni a tartalmát. Ezért az olyan tagfunkciók, mint a Replace (), új karakterláncot adnak vissza.
Mivel nem adtuk meg a count paramétert a Replace () függvényben. Tehát az „s” összes előfordulását „X” -re cseréli. De mi van akkor, ha az összes helyett csak az első néhány eseményt akarjuk helyettesíteni? Nézzük meg, hogyan kell ezt megtenni,
Cserélje le az adott karakter / al karakterlánc első n előfordulását egy karakterláncban
Tegyük fel, hogy van egy karakterláncunk, azaz
mainStr = "Hello, This is a sample string"
Most lehetővé teszi az ‘s’ első 2 előfordulásának helyét az ‘XXXS’ kifejezésre, azaz
"""Replace First 2 occurrences of given character or string in main string"""otherStr = mainStr.replace("s" , "XXXS", 2)
A otherStr tartalma a következő,
Hello, ThiXXXS iXXXS a sample string
Mivel a count paramétert 2-ként adtuk meg, a ‘s’ csak az első 2 előfordulását cseréljük le a visszaküldött példányban.
Több karakter cseréje / stringek egy karakterláncban
Az str.replace () függvény csak egy adott részlánc előfordulását helyettesítheti. De mi van akkor, ha egy adott karaktersorozatban több alhúrláncot akarunk cserélni?
Tegyük fel, hogy van egy karakterláncunk, azaz
mainStr = "Hello, This is a sample string"
Hogyan lehet ennek a három karakternek az ‘s’, ‘l’, ‘a’ összes előfordulását lecserélni erre az ‘AA’ karakterláncra?
Ehhez hozzunk létre egy új függvényt a helyettesítés () felett, azaz
"""Replace a set of multiple sub strings with
read more