Найти - Пользователи
Полная версия: Странности со string.replace
Начало » Python для новичков » Странности со string.replace
1
Eliont
Вот так - не работает.
s = "text $count$ text"
print s
s.replace("$name$",str(99))
print s
s.replace(str(99),"$name$")
print s
Хотя ошибок не выдаёт.
text $count$ text
text $count$ text
text $count$ text
А вот таким извращённым методом получилось:
s = "text $count$ text".replace('$count$',str(99))
print s
s = "%s"%(s).replace(str(99),"$count$")
print s
print 'Hello'.replace('l', 'L')
text 99 text
text $count$ text
HeLLo
Замена подстрок не работает с переменными?.. Или что?
Версия питона 2.7 .
dll090
А что он там будет заменять если в строке нет ни “$name$” ни “99”, там же “$count$”
uuu
user@debsrv:/tmp$ cat test.py
s = 'text $count$ text'
print s.replace('$count$','99')

user@debsrv:/tmp$ python test.py
text 99 text

user@debsrv:/tmp$ jython test.py
text 99 text

user@debsrv:/tmp$ python --version
Python 2.6.6
user@debsrv:/tmp$ jython --version
Jython 2.5.1+
Я, кстати, не понял, чего хотел добиться автор, постоянно вызывая print s, и при этом не изменяя строку. И зачем искать $name$, а заменять $count$?
uuu
user@debsrv:/tmp$ cat test2.py 
s = "text $count$ text"
s =s.replace('$count$',str(99))
print s
s = s.replace(str(99),"$count$")
print s
print 'Hello'.replace('l', 'L')

user@debsrv:/tmp$ python test2.py
text 99 text
text $count$ text
HeLLo
igor.kaist
Метод replace возвращает новую строку а не изменяет текущую.
Eliont
name и count - извиняюсь, это не везде заменил просто, и не посмотрел.
Просто путанница.

Метод replace возвращает новую строку а не изменяет текущую.
Теперь понятно, спасибо.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB