378 Stimmen

Wie man string.replace() in Python 3.x verwendet

En string.replace() ist in Python 3.x veraltet. Was ist der neue Weg, dies zu tun?

406voto

Ignacio Vazquez-Abrams Punkte 735200

Wie in 2.x, verwenden Sie str.replace() .

E

>>> 'Hello world'.replace('world', 'Guido')
'Hello Guido'

130voto

kev Punkte 145226

replace() ist eine Methode der <class 'str'> in Python3:

>>> 'hello, world'.replace(',', ':')
'hello: world'

28voto

Die replace()-Methode in Python 3 wird einfach von verwendet:

a = "This is the island of istanbul"
print (a.replace("is" , "was" , 3))

#3 is the maximum replacement that can be done in the string#

>>> Thwas was the wasland of istanbul

# Last substring 'is' in istanbul is not replaced by was because maximum of 3 has already been reached

16voto

Kushan Gunasekera Punkte 3807

Sie können verwenden str.replace() als Kette von str.replace() . Denken Sie, Sie haben eine Zeichenfolge wie 'Testing PRI/Sec (#434242332;PP:432:133423846,335)' und Sie möchten alle '#',':',';','/' Zeichen mit '-' . Sie können es entweder auf diese Weise ersetzen (normaler Weg),

>>> string = 'Testing PRI/Sec (#434242332;PP:432:133423846,335)'
>>> string = string.replace('#', '-')
>>> string = string.replace(':', '-')
>>> string = string.replace(';', '-')
>>> string = string.replace('/', '-')
>>> string
'Testing PRI-Sec (-434242332-PP-432-133423846,335)'

oder auf diese Weise (Kette von str.replace() )

>>> string = 'Testing PRI/Sec (#434242332;PP:432:133423846,335)'.replace('#', '-').replace(':', '-').replace(';', '-').replace('/', '-')
>>> string
'Testing PRI-Sec (-434242332-PP-432-133423846,335)'

8voto

crifan Punkte 10673

Offizielles Dokument für str.replace von Python 3

offizielles Dokument: Python 3's str.replace

str.replace(alt, neu[, count])

Gibt eine Kopie der Zeichenkette zurück, in der alle Vorkommen der Teilzeichenkette old durch new ersetzt sind. Wenn das optionale Argument count angegeben wird, werden nur die ersten Vorkommen von count ersetzt.

Die entsprechende VSCode ist der Syntaxhinweis:

enter image description here

str.replace(self: str, alt, neu, count) -> str

Zwei Methoden zur Anwendung str.replace

  • Methode 1: Verwendung der eingebauten Ersetzung von str -> str.replace(strVariable, old, new[, count])

    replacedStr1 = str.replace(originStr, "from", "to")

  • Methode 2: Ersetzen der Variablen str verwenden -> strVariable.replace(old, new[, count])

    replacedStr2 = originStr.replace("from", "to")

Vollständige Demo

Code:

originStr = "Hello world"

# Use case 1: use builtin str's replace -> str.replace(strVariable, old, new[, count])
replacedStr1 = str.replace(originStr, "world", "Crifan Li")
print("case 1: %s -> %s" % (originStr, replacedStr1))

# Use case 2: use str variable's replace -> strVariable.replace(old, new[, count])
replacedStr2 = originStr.replace("world", "Crifan Li")
print("case 2: %s -> %s" % (originStr, replacedStr2))

Ausgabe:

case 1: Hello world -> Hello Crifan Li
case 2: Hello world -> Hello Crifan Li

Bildschirmfoto:

enter image description here

Mein zugehöriger (chinesischer) Beitrag: Python 3str.replace

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X