Heim > Artikel > Backend-Entwicklung > Warum kann ich Zeichen in einer Python-Zeichenfolge nicht direkt mithilfe der Indexzuweisung ersetzen?
Zeichen in der Zeichenfolge können nicht mithilfe der Indexzuweisung ersetzt werden
Beachten Sie den folgenden Codeausschnitt, der versucht, an bestimmten Positionen darin Semikolons durch Doppelpunkte zu ersetzen eine Zeichenfolge:
for i in range(0,len(line)): if (line[i]==";" and i in rightindexarray): line[i]=":"
Dieser Code schlägt jedoch mit einem TypeError fehl, was darauf hinweist, dass str Objekte unterstützen keine Elementzuordnung. Dies liegt daran, dass Zeichenfolgen in Python unveränderlich sind, was bedeutet, dass ihr Inhalt nicht direkt geändert werden kann.
Überwindung des Problems
Um Zeichen innerhalb einer Zeichenfolge zu ersetzen, können Sie die verwenden Methode replace():
line = line.replace(';', ':')
Diese Methode ersetzt alle Vorkommen des angegebenen Zeichens (';') durch das neue Zeichen (':').
Selektive Ersetzung
Wenn Sie nur bestimmte Zeichen ersetzen möchten, können Sie String-Slicing verwenden, um den gewünschten Abschnitt der Zeichenfolge zu isolieren ändern:
line = line[:10].replace(';', ':') + line[10:]
Dieser Code ersetzt alle Semikolons in den ersten 10 Zeichen des string.
Beispiel
Mit dem obigen Code wird die Zeichenfolge „Hei der! ; Hello there ;!;“ erstellt, wobei das rightindexarray die Indizes der gewünschten Ersetzungen enthält ([ 3, 13]), würde in „Hei der! : Hallo da :!;“ umgewandelt werden.
Das obige ist der detaillierte Inhalt vonWarum kann ich Zeichen in einer Python-Zeichenfolge nicht direkt mithilfe der Indexzuweisung ersetzen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!