Python: Hvordan erstatte enkelt- eller flere tegn i en streng?

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

Write a Comment

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *