Уведомления

Группа в Telegram: @pythonsu

#1 Март 15, 2011 04:41:53

Eliont
От:
Зарегистрирован: 2010-05-30
Сообщения: 77
Репутация: +  0  -
Профиль   Отправить e-mail  

Странности со string.replace

Вот так - не работает.

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 .



Отредактировано (Март 15, 2011 04:42:46)

Офлайн

#2 Март 15, 2011 04:51:13

dll090
От:
Зарегистрирован: 2011-01-22
Сообщения: 15
Репутация: +  0  -
Профиль   Отправить e-mail  

Странности со string.replace

А что он там будет заменять если в строке нет ни “$name$” ни “99”, там же “$count$”



Отредактировано (Март 15, 2011 04:52:24)

Офлайн

#3 Март 15, 2011 05:33:49

uuu
От:
Зарегистрирован: 2011-02-13
Сообщения: 54
Репутация: +  0  -
Профиль   Отправить e-mail  

Странности со string.replace

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$?



Офлайн

#4 Март 15, 2011 05:35:39

uuu
От:
Зарегистрирован: 2011-02-13
Сообщения: 54
Репутация: +  0  -
Профиль   Отправить e-mail  

Странности со string.replace

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



Офлайн

#5 Март 15, 2011 07:47:24

igor.kaist
От:
Зарегистрирован: 2007-11-12
Сообщения: 1879
Репутация: +  3  -
Профиль   Отправить e-mail  

Странности со string.replace

Метод replace возвращает новую строку а не изменяет текущую.



Офлайн

#6 Март 15, 2011 07:51:12

Eliont
От:
Зарегистрирован: 2010-05-30
Сообщения: 77
Репутация: +  0  -
Профиль   Отправить e-mail  

Странности со string.replace

name и count - извиняюсь, это не везде заменил просто, и не посмотрел.
Просто путанница.

Метод replace возвращает новую строку а не изменяет текущую.
Теперь понятно, спасибо.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version