Python有没有一个函数可以用来转义字符串中的特殊字符?
例如,I'm "stuck" :\
应该变成I\'m \"stuck\" :\\
。
发布于 2010-11-17 17:03:18
使用repr()1:-1。在这种情况下,双引号不需要转义。-1:1片段是删除开头和结尾的单引号。
>>> x = raw_input()
I'm "stuck" :\
>>> print x
I'm "stuck" :\
>>> print repr(x)[1:-1]
I\'m "stuck" :\\
或者你只是想逃避一个短语粘贴到你的程序中?如果是这样,请执行以下操作:
>>> raw_input()
I'm "stuck" :\
'I\'m "stuck" :\\'
发布于 2013-08-02 01:34:10
如上所述,答案取决于您的情况。如果您想转义正则表达式的字符串,那么您应该使用re.escape()。但是如果你想转义一组特定的字符,那么可以使用这个lambda函数:
>>> escape = lambda s, escapechar, specialchars: "".join(escapechar + c if c in specialchars or c == escapechar else c for c in s)
>>> s = raw_input()
I'm "stuck" :\
>>> print s
I'm "stuck" :\
>>> print escape(s, "\\", ['"'])
I'm \"stuck\" :\\
发布于 2015-02-13 16:22:01
如果您只想替换一些字符,您可以使用以下命令:
import re
print re.sub(r'([\.\\\+\*\?\[\^\]\$\(\)\{\}\!\<\>\|\:\-])', r'\\\1', "example string.")
https://stackoverflow.com/questions/4202538
复制相似问题