Найти - Пользователи
Полная версия: Аналог stripslashes()
Начало » Python для экспертов » Аналог stripslashes()
1
Lolka
Товарищи, может быть совершенно бестолковый вопрос, но как бороться со слешами, кавычками в строках?
Кавычки как одинарные так и двойные.

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
Спасибо.
poltergeist

>>> “test\\”
'test\\'
>>> print “test\\”
test\
>>> “test\\”.strip(“\\”)
'test'
>>> from re import escape
>>> escape(“test\\”)
'test\\\\'
>>> print escape(“test\\”)
test\\
>>> print “some \”text\“”
some “text”
>>>
Ferroman
Ммммб между прочим - везде в литературе написано.
\ - экранирует любой символ после себя - то есть выводит его как есть.
\\ - выводит \
\“ - выводит ”
и так далее. Кроме \n \t - так задаются специяльные симвлы, типа перевода строки или табуляции.
ZAN
poltergeist
from re import escape
В данном случае лучше использовать встроенные методы строки encode/decode с кодировкой ‘string_escape’, т.к. re.escape будет блокировать escape-последовательности для регулярных варажений:
from re import escape
>>> escape('$ [.*abc\\')
'\\$\\ \\[\\.\\*abc\\\\'

а так он перекодирует символ табуляции:
>>> escape('\t')
'\\\t'
причина - предоплагается, что строка попадает с уже заблокированными обратными слэшами (как правило - просто набирается в виде raw выражения), а метод encode отрботает так:
>>> ‘$ [.*abc\\d\t’.encode('string_escape')
'$ [.*abc\\\\d\\t'
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