I denne artikel vil vi diskutere, hvordan man erstatter enkelt eller flere tegn i en streng i Python.
Python giver en str.replace () -funktion dvs.
str.replace(old, new , count)
Det returnerer et nyt strengobjekt, der er en kopi af eksisterende streng med erstattet indhold. Også
- Hvis optælling ikke er angivet, returnerer den en streng med alle forekomster af ‘gammel’, erstattet med ‘ny’ streng.
- Hvis tællerparameter overføres, vil den også returnere en streng med de første ‘count’ forekomster af ‘gamle’ streng erstattet med ‘nye’ streng.
Lad os forstå det ved eksempler,
Erstat alle forekomster af givet karakter / streng i en streng
Antag, at vi har en streng, dvs.
mainStr = "Hello, This is a sample string"
Nu kan vi erstatte alle forekomster af ‘s ‘med’ X ‘dvs.
"""Replace all occurrences of given character or string in main string"""otherStr = mainStr.replace("s" , "X")
Indholdet af andetStr er som følger,
Hello, ThiX iX a Xample Xtring
Som strenge er uforanderlige i Python, så vi kan ikke ændre dens indhold. Derfor returnerer medlemsfunktioner som erstat () en ny streng.
Da vi ikke har angivet tællerparameteren i erstatningsfunktionen (). Så det vil erstatte alle forekomster af ‘s’ med ‘X’. Men hvad hvis vi kun vil erstatte de første få begivenheder i stedet for alle? Lad os se, hvordan vi gør det,
Erstat første n forekomster af givet karakter / understreng i en streng
Antag, at vi har en streng, dvs.
mainStr = "Hello, This is a sample string"
Nu kan vi erstatte de første 2 forekomster af ‘s’ med ‘XXXS’ dvs.
"""Replace First 2 occurrences of given character or string in main string"""otherStr = mainStr.replace("s" , "XXXS", 2)
Indholdet af otherStr er som følger,
Hello, ThiXXXS iXXXS a sample string
Da vi har passeret optællingsparameteren som 2, erstattes kun de første 2 forekomster af ‘s’ i den returnerede kopi.
Erstat flere tegn / strings i en streng
str.replace () -funktion kan kun erstatte forekomsterne af en given substreng. Men hvad hvis vi vil erstatte flere understrenge i en given streng?
Antag, at vi har en streng, dvs.
mainStr = "Hello, This is a sample string"
Hvordan skal man nu erstatte alle forekomster af disse tre tegn ‘s’, ‘l’, ‘a’ med denne streng ‘AA’?
Lad os oprette en ny funktion over erstatte () for at gø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 erstatter alle forekomster af strenge i List toBeReplaces med newString i hovedgiven liste mainString.
Lad os se hvordan man erstatter forekomster af med “AA” dvs.
Indholdet af otherStr er som følger,
HeAAAAo, ThiAA iAA AA AAAAmpAAe AAtring
Komplet 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