I denne artikkelen vil vi diskutere hvordan du erstatter enkelt- eller flere tegn i en streng i Python.
Python gir en str.replace () -funksjon dvs.
str.replace(old, new , count)
Den returnerer et nytt strengobjekt som er en kopi av eksisterende streng med erstattet innhold. Også
- Hvis antall ikke blir gitt, vil den returnere en streng med alle forekomster av ‘gammel’, erstattet med ‘ny’ streng.
- Hvis telleparameteren blir bestått, vil den også returner en streng med første «count» forekomster av «gammel» streng erstattet med «ny» streng.
La oss forstå det ved eksempler,
Erstatt alle forekomster av gitt tegn / streng i en streng
Anta at vi har en streng dvs.
mainStr = "Hello, This is a sample string"
Nå kan vi erstatte alle forekomster av ‘med’ X ‘dvs.
"""Replace all occurrences of given character or string in main string"""otherStr = mainStr.replace("s" , "X")
Innholdet i otherStr er som følger,
Hello, ThiX iX a Xample Xtring
Som strenger er uforanderlige i Python, så vi kan ikke endre innholdet. Derfor returnerer medlemsfunksjoner som erstatte () en ny streng.
Da vi ikke har oppgitt tellerparameteren i erstatte () -funksjonen. Så det vil erstatte alle forekomster av ‘s’ med ‘X’. Men hva om vi bare vil erstatte de første hendelsene i stedet for alle? La oss se hvordan vi gjør det,
Erstatt første n forekomster av gitt karakter / understreng i en streng
Anta at vi har en streng dvs.
mainStr = "Hello, This is a sample string"
La oss nå erstatte de to første forekomstene av ‘s’ med ‘XXXS’ dvs.
"""Replace First 2 occurrences of given character or string in main string"""otherStr = mainStr.replace("s" , "XXXS", 2)
Innholdet i otherStr er som følger,
Hello, ThiXXXS iXXXS a sample string
Ettersom vi har passert tellingsparameteren som 2, blir bare de første to forekomstene av ‘s’ erstattet i den returnerte kopien.
Erstatt flere tegn / strenger i en streng
str.replace () -funksjon kan bare erstatte forekomster av en gitt understreng. Men hva om vi vil erstatte flere understrenger i en gitt streng?
Anta at vi har en streng dvs.
mainStr = "Hello, This is a sample string"
Nå, hvordan skal du erstatte alle forekomster av disse tre tegnene ‘s’, ‘l’, ‘a’ med denne strengen ‘AA’?
La oss lage en ny funksjon over erstatte () for å gjøre det, dvs.
"""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
Det vil erstatte alle forekomstene av strenger i List toBeReplaces med newString i hovedlisten mainString.
La oss se hvordan du kan erstatte forekomster av med «AA» dvs.
Innholdet i otherStr er som følger,
HeAAAAo, ThiAA iAA AA AAAAmpAAe AAtring
Komplett eksempel er som følger,
Output:
String with replaced Content : Hello, ThiX iX a Xample XtringHello, ThiXXXS iXXXS a sample stringHeAAAAo, ThiAA iAA AA AAAAmpAAe AAtring