En string.replace()
ist in Python 3.x veraltet. Was ist der neue Weg, dies zu tun?
Antworten
Zu viele Anzeigen?Wie in 2.x, verwenden Sie str.replace()
.
E
>>> 'Hello world'.replace('world', 'Guido')
'Hello Guido'
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
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)'
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:
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:
Mein zugehöriger (chinesischer) Beitrag: Python 3str.replace
- See previous answers
- Weitere Antworten anzeigen