Tässä artikkelissa käsitellään yksittäisten tai useiden merkkien korvaamista merkkijonossa Pythonissa.
Python tarjoaa str.replace () -funktion eli
str.replace(old, new , count)
Se palauttaa uuden merkkijono-objektin, joka on kopio olemassa olevasta merkkijonosta korvatulla sisältö. Lisäksi,
- Jos laskenta ei ole annettu, se palauttaa merkkijonon, jossa kaikki ’vanhan’ esiintymät korvataan uudella merkkijonolla.
- Jos count-parametri välitetään, se palauta merkkijono, jossa ’vanhan’ merkkijonon ’count’ esiintymät korvataan uudella merkkijonolla.
Ymmärretään esimerkkien avulla,
Korvaa kaikki annetun merkin esiintymät / merkkijono merkkijonossa
Oletetaan, että meillä on merkkijono eli
mainStr = "Hello, This is a sample string"
Antaa nyt korvata kaikki esiintymät ’ja’ X ’eli
"""Replace all occurrences of given character or string in main string"""otherStr = mainStr.replace("s" , "X")
OtherStr: n sisältö on seuraava,
Hello, ThiX iX a Xample Xtring
As merkkijonot ovat muuttumattomia Pythonissa, joten emme voi muuttaa sen sisältöä. Siksi jäsenfunktiot, kuten korvaus (), palauttavat uuden merkkijonon.
Koska emme ole antaneet laskuparametriä korvaa () -toiminnossa. Joten se korvaa kaikki s: n esiintymät X: llä. Mutta entä jos haluamme korvata vain muutaman ensimmäisen tapahtuman kaikkien sijasta? Katsotaanpa, miten se tehdään,
Korvaa annetun merkin / alimerkkijonon ensimmäiset n esiintymää merkkijonossa
Oletetaan, että meillä on merkkijono eli
mainStr = "Hello, This is a sample string"
Korvataan nyt kahden ensimmäisen s: n esiintymän arvolla XXXS eli
"""Replace First 2 occurrences of given character or string in main string"""otherStr = mainStr.replace("s" , "XXXS", 2)
OtherStr: n sisältö on seuraava,
Hello, ThiXXXS iXXXS a sample string
Koska laskuparametri on annettu 2: ksi, vain kaksi ensimmäistä s: n esiintymää korvataan palautetussa kopiossa.
Korvaa useita merkkejä / merkkijonot merkkijonossa
funktio str.replace () voi korvata vain yhden alimerkkijonon esiintymät. Mutta entä jos haluamme korvata useita alimerkkijonoja tietyssä merkkijonossa?
Oletetaan, että meillä on merkkijono eli
mainStr = "Hello, This is a sample string"
Kuinka nyt korvata näiden kolmen merkin ’s’, ’l’, ’a’ kaikki esiintymät tällä merkkijonolla ’AA’?
Luodaan uusi funktio korvaavan (): n yli tekemään niin, ts.
"""Replace a set of multiple sub strings with a new string in main string."""def replaceMultiple(mainString, toBeReplaces, newString): # Iterate over the strings to be replaced for elem in toBeReplaces : # Check if string is in the main string if elem in mainString : # Replace the string mainString = mainString.replace(elem, newString) return mainString
Se korvaa kaikki luettelon toBeReplaces merkkijonot esiintymillä newStringillä annetussa päälistassa mainString.
Katsotaanpa, kuinka korvata ”AA”: lla esiintymät
OtherStr: n sisältö on seuraava,
HeAAAAo, ThiAA iAA AA AAAAmpAAe AAtring
Täydellinen esimerkki on seuraava,
Output:
String with replaced Content : Hello, ThiX iX a Xample XtringHello, ThiXXXS iXXXS a sample stringHeAAAAo, ThiAA iAA AA AAAAmpAAe AAtring