Python: Hvordan man udskifter enkelt eller flere tegn i en streng?

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

Write a Comment

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *