python replace mehrere old characters?

3 Antworten

wenn du komplexere Ersetzungen machen willst, bieten sich regular expressions an. Das gibt es sicherlich auch für python.

Eine bisher nicht genannte Möglichkeit:

translate(self, table, /)
    Replace each character in the string using the
    given translation table.

      table
        Translation table, which must be a mapping of
        Unicode ordinals to Unicode ordinals, strings, or None.

    The table must implement lookup/indexing via __getitem__,
    for instance a dictionary or list. If this operation raises
    lookupError, the character is left untouched.
    Characters mapped to None are deleted.

Oft ist die Nutzung von RexExps natürlich ebequemer.

Oder muss ich dort dann mehrere replaces machen?

Zumindest per String-Methoden musst du dann mehrere Replaces ansetzen. Das kannst du aber auch "verketten".

z.B.

>>> "Hello".replace("e", "a").replace("l", "r")
Harro
Woher ich das weiß:Studium / Ausbildung – Abgeschlossenes Studium der Informatik (B.Sc.)

NMI21 
Fragesteller
 30.03.2023, 22:17

Okay danke! Wird schwierig... ich möchte nämlich jeden Buchstaben quasi durch nichts ersetzen da müsste ich dann ja 26 replaces für Kleinbuchstaben und 26 für Großbuchstaben machen. Gibt es da irgendwie nen anderen Weg?

0
xxxcyberxxx  30.03.2023, 22:20
@NMI21
ich möchte nämlich jeden Buchstaben quasi durch nichts ersetzen da müsste ich dann ja 26 replaces für Kleinbuchstaben und 26 für Großbuchstaben machen

nichts, was mit Schleifen nicht durchaus kurz zu schreiben wäre.

Gibt es da irgendwie nen anderen Weg?

Regex

0