Форум сайта python.su
Товарищи, может быть совершенно бестолковый вопрос, но как бороться со слешами, кавычками в строках?
Кавычки как одинарные так и двойные.
In [23]: "test\"
------------------------------------------------------------
File "<ipython console>", line 1
"test\"
^
SyntaxError: EOL while scanning single-quoted string
In [24]: "test\".strip("\")
------------------------------------------------------------
File "<ipython console>", line 1
"test\".strip("\")
^
SyntaxError: invalid token
In [25]: from re import escape
In [26]: escape("test\")
------------------------------------------------------------
File "<ipython console>", line 1
escape("test\")
SyntaxError: EOL while scanning single-quoted string
Отредактировано (Май 14, 2008 10:54:00)
Офлайн
>>> “test\\”
'test\\'
>>> print “test\\”
test\
>>> “test\\”.strip(“\\”)
'test'
>>> from re import escape
>>> escape(“test\\”)
'test\\\\'
>>> print escape(“test\\”)
test\\
>>> print “some \”text\“”
some “text”
>>>
Офлайн
Ммммб между прочим - везде в литературе написано.
\ - экранирует любой символ после себя - то есть выводит его как есть.
\\ - выводит \
\“ - выводит ”
и так далее. Кроме \n \t - так задаются специяльные симвлы, типа перевода строки или табуляции.
Офлайн
poltergeistВ данном случае лучше использовать встроенные методы строки encode/decode с кодировкой ‘string_escape’, т.к. re.escape будет блокировать escape-последовательности для регулярных варажений:
from re import escape
Отредактировано (Май 14, 2008 15:48:53)
Офлайн