Python: Kuinka korvata yksi tai useampi merkkijono merkkijonossa?

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

Write a Comment

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *