Gå till innehållet

Text: replace()

replace(old, new[, count]) byter ut text i en sträng. Utan count byts alla förekomster.

Python
1
2
3
4
5
6
7
print("banan banan".replace("banan", "äpple"))    # "äpple äpple"
print("1,75".replace(",", "."))                  # "1.75"
print("haha".replace("ha", "ho", 1))             # "hoa"

# Kedja byten
text = "Hej VÄRLDEN!"
print(text.lower().replace("världen", "python"))  # "hej python!"

Vanliga användningar: - Byt komma till punkt innan float(). - Censurera ett ord i en mening. - Ändra avskiljare (t.ex. från "/" till "-").

Observera: replace() använder inte mönster (regex). Den byter exakt den text du anger.

Steg-för-steg-exempel: Säkert läsa decimaltal med komma eller punkt

Vi låter användaren skriva ett decimaltal och accepterar både komma och punkt.

Python
1
2
3
4
5
6
7
8
9
text = input("Skriv ett decimaltal: ")     # 1) Läs text
text = text.strip()                         # 2) Ta bort extra mellanslag
text = text.replace(",", ".")             # 3) Byt komma till punkt

try:
    tal = float(text)                       # 4) Försök omvandla till flyttal
    print(f"Du skrev talet {tal}")          # 5) Lyckat resultat
except ValueError:
    print("Det där var inte ett giltigt tal.")  # 6) Felhantering

Förklaring rad för rad: - Rad 1: All inmatning är sträng från början. - Rad 2: .strip() minskar risken för oväntade mellanslag som stör omvandling. - Rad 3: .replace(",", ".") gör att 1,75 → 1.75 så float() förstår. - Rad 4–6: Vi fångar fel om användaren skrev något som inte är tal.

Uppgifter

1) Censurera ett ord i en inläst mening genom att ersätta det med "**". 2) Läs ett decimaltal där användaren kan skriva komma, byt till punkt och omvandla till float(). 3) Läs ett datum i formatet "2025/08/15" och skriv om det till "2025-08-15" med replace(). 4) Extrauppgift: Läs ett namn och byt ut alla vokaler mot "".