Wie kann man in Python in einer Variable ein Zeichen durch ein anderes Zeichen ersetzen?

1 Antwort

Da gibt es sehr sehr viele Möglichkeiten, je nachdem unter welchen Bedingungen(!) du was(!) und wie(!) ersetzen willst. :)

Beispiel 1: Einfache Stringsubstitution ...

a = 'Baum Garten'
b = a.replace('Baum', 'Busch')
print(b) # 'Busch Garten'

Beispiel 2: Einen Bereich ersetzen ...

a = list('Baum Garten')
a[0:4] = 'Busch'
b = ''.join(a)
print(b) # 'Busch Garten'

Beispiel 3: Einen regulären Ausdruck ...

import re
p = re.compile('Baum', re.IGNORECASE)
a = 'Baum Garten'
b = p.sub('Busch', a)
print(b) # 'Busch Garten'

Es gibt noch vieeel mehr Beispiele, z.B. mit buffer- oder byte-Objekten. Lies dir einfach mal die Api Docs durch! :)

PS: Mit regulären Ausdrücken kann man auch folgenden komplizierten Substitutionsalgorithmus implementieren (Python 3 Version!):

#!/usr/bin/python3

import re

pattern = re.compile('^(.+?)(.).\\s+(.).(.)(.).+$', re.IGNORECASE)

before = 'Großer Trinkhalm'
after = pattern.sub('\\1\\2 \\3\\4\\3\\3\\2\\5', before).title()

print(after) # muhahahaha :)

OK, das war absolut niveaulos ... hoffentlich kommt Alice Schwarzer hier nicht vorbei und probiert diesen Code womöglich auch noch aus! ><

2
@TeeTier

Danke für die Antwort, hilft mir echt weiter ;) thx

1

Python Ageben wie oft Buchstabe im String gefunden?

Hallo zusammen,

Ich bin dem Verzweifeln nahe. Ich möchte in folgenden Code ausgeben wie oft der vom Benutzer definierte Buchstabe im vom Benutzer definierten String enthalten ist? Allerdings weiß ich nicht wie dies funktioniert und mir gehen nun nach langem Herumexperimentieren langsam die Ideen aus. Ich freue mich auf Hilfreiche Antworten. Kireznieh while(True): string = input("Gib ein Wort ein:") letter = input("Gib nun einen Buchstaben ein") index = 0 ergebnis = ("") Anzahl = ???

 while(True):
string = input("Gib ein Wort ein:")
letter = input("Gib nun einen Buchstaben ein")
index = 0
ergebnis = ("")
Anzahl = ???

 while(index < len(string)):
    if(string[index] == letter):
        ergebnis = ergebnis,str(index +1)
    index = index +1
  
else:
    if(len(ergebnis) == 0):
        print("Das Zeichen ist im eigegebenen Wort nicht enthalten")
        break
    else:
        print("Eingegebenen Buchstaben an folgenden Stellen",Anzahl, "mal gefunden",ergebnis)
        break   
...zur Frage

Batch: Text in einer Datei durch einen anderen Text ersetzen?

Ich möchte ein Programm (Batchdatei) schreiben, das Text aus einer einen Datei durch einen Text aus einer anderen Datei ersetzt.

Ich habe den Text (Zahlenfolge 2) der neu in die Datei geschrieben werden soll schon als Variable festgelegt.

Jetzt soll das Programm in einer anderen Textdatei nach der Zahlenfolge1 suchen, die bereits in einer Variable festgehalten ist, und durch die Zahlenfolge 2 ersetzt werden.

Wie stelle ich das an? Kann mir jemand Code dazu präsentieren?

(Und nein, ich habe nicht viel Ahnung vom Programmieren :P)

Vielen Dank jetzt schonmal!

...zur Frage

Was möchtest Du wissen?