Ersetzen von Zeichen in String bei Index in Python

Vaibhhav Khetarpal 10 Oktober 2023
  1. Verwenden Sie String-Slicing, um ein Zeichen in einem String an einem bestimmten Index in Python zu ersetzen
  2. Verwenden Sie eine Liste, um ein Zeichen in einer Zeichenkette an einem bestimmten Index in Python zu ersetzen
  3. Ersetzen Sie in allen Fällen mehr als ein Zeichen bei unterschiedlichen Indizes durch dasselbe Zeichen
  4. Ersetzen Sie in allen Fällen mehr als ein Zeichen bei unterschiedlichen Indizes durch unterschiedliche Zeichen
Ersetzen von Zeichen in String bei Index in Python

Wie wir alle wissen, sind Strings in Python unveränderlich, sodass es keine Möglichkeit gibt, direkt während der Laufzeit des Python-Codes Änderungen am String vorzunehmen. Dies ist jedoch in einigen Fällen erforderlich und kann indirekt auf unterschiedliche Weise erfolgen.

Dieses Tutorial zeigt, wie Sie ein Zeichen in einer Zeichenkette an einem bestimmten Index in Python ersetzen.

Verwenden Sie String-Slicing, um ein Zeichen in einem String an einem bestimmten Index in Python zu ersetzen

List-Slicing ist eine effiziente Methode, um einige der Probleme zu lösen, die während des Codierungsprozesses auftreten. Der Doppelpunkt-Operator (:) wird für den Listen-Slicing-Prozess verwendet. Die Details oder Parameter wie start, finish und step können mit Hilfe des Doppelpunktoperators angegeben werden.

Der folgende Code verwendet String-Slicing, um ein Zeichen in einem String an einem bestimmten Index in Python zu ersetzen.

stra = "Meatloaf"
posn = 5
nc = "x"

stra = string[:posn] + nc + string[posn + 1 :]
print(stra)

Der obige Code liefert die folgende Ausgabe:

Meatlxaf

Erläuterung:

  • Um ein einzelnes Zeichen an der angegebenen Position im angegebenen String zu ersetzen, werden drei Abschnitte durch Aufteilen des angegebenen Strings gebildet.
  • Der mittlere Abschnitt enthält nur das Zeichen, das ersetzt werden muss. Der erste und letzte Abschnitt enthalten die Zeichen vor bzw. nach dem ausgewählten Zeichen.
  • Alle drei Abschnitte werden dann mit dem einfachen +-Operator zusammengefügt. Anstelle des mittleren Abschnitts, der das ausgewählte Zeichen enthält, wird jedoch das zu ersetzende Zeichen an dessen Stelle eingefügt.

Verwenden Sie eine Liste, um ein Zeichen in einer Zeichenkette an einem bestimmten Index in Python zu ersetzen

Eine Liste ist einer der vier integrierten Datentypen, die Python bereitstellt, und wird verwendet, um mehrere Artikel in einer einzigen Variablen zu lagern. Listen sind geordnet, veränderbar und haben eine bestimmte Anzahl.

Bei dieser Methode wird der angegebene String zunächst in eine Liste umgewandelt. Danach wird das alte Zeichen am angegebenen Index durch das neue Zeichen ersetzt. Abschließend werden die Listenelemente mit der Funktion join() in einen String umgewandelt.

Der folgende Code verwendet eine Liste, um ein Zeichen in einer Zeichenkette an einem bestimmten Index in Python zu ersetzen.

stra = "Meatloaf"
posn = 6
nc = "x"
tmp = list(stra)
tmp[posn] = nc
stra = "".join(tmp)
print(stra)

Der obige Code liefert die folgende Ausgabe:

Meatloxf

Diese beiden waren die Methoden, die verwendet werden können, um mit einem einzelnen Zeichen in einer Zeichenkette umzugehen. Wir werden uns nun darauf konzentrieren, Zeichen an mehreren angegebenen Indizes zu ersetzen.

Ersetzen Sie in allen Fällen mehr als ein Zeichen bei unterschiedlichen Indizes durch dasselbe Zeichen

Hier verwenden wir Listen. Diese Methode wird verwendet, wenn einige Indizes vorhanden sind und alle Zeichen dieser mehreren Indizes durch ein einzelnes Zeichen ersetzt werden müssen.

Damit dies funktioniert, müssten alle Indizes in der gegebenen Liste iteriert werden, und Slicing kann implementiert werden, um jeden gefundenen Index zu ersetzen, der eine Zeichenänderung erfordert.

Der folgende Code verwendet List-Slicing, wenn wir Zeichen an vielen Indizes durch ein einzelnes Zeichen ersetzen müssen.

stra = "Meatloaf"
loi = [2, 4, 6]
nc = "x"
res = ""

for i in loi:
    stra = stra[:i] + nc + stra[i + 1 :]

print(stra)

Der obige Code liefert die folgende Ausgabe:

Mextxoxf

Ersetzen Sie in allen Fällen mehr als ein Zeichen bei unterschiedlichen Indizes durch unterschiedliche Zeichen

In diesem Fall muss nicht in allen Indizes dasselbe Zeichen ersetzt werden.

Zu diesem Zweck verwenden wir anstelle einer Liste ein Dictionary. Ein Dictionary ist einer hashmap sehr ähnlich und speichert die eingegebenen Daten in Form von Schlüssel:Wert-Paaren.

Um alle in den ausgewählten Indizes angegebenen Zeichen durch ihre entsprechenden Ersetzungen zu ersetzen, werden alle Schlüssel:Wert-Paare des erstellten Dictionaries durchlaufen.

Der folgende Code ersetzt Zeichen an mehreren Indizes durch ihre jeweiligen Ersetzungen.

stra = "Meatloaf"
cr = {1: "x", 3: "c", 5: "w"}

res = ""

for index, replacement in cr.items():
    stra = stra[:index] + cr[index] + stra[index + 1 :]

print(stra)

Der obige Code liefert die folgende Ausgabe:

Mextcowf
Vaibhhav Khetarpal avatar Vaibhhav Khetarpal avatar

Vaibhhav is an IT professional who has a strong-hold in Python programming and various projects under his belt. He has an eagerness to discover new things and is a quick learner.

LinkedIn

Verwandter Artikel - Python String