首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >转义Python字符串中的特殊字符

转义Python字符串中的特殊字符
EN

Stack Overflow用户
提问于 2010-11-17 16:09:25
回答 3查看 215.7K关注 0票数 149

Python有没有一个函数可以用来转义字符串中的特殊字符?

例如,I'm "stuck" :\应该变成I\'m \"stuck\" :\\

EN

回答 3

Stack Overflow用户

发布于 2010-11-17 17:03:18

使用repr()1:-1。在这种情况下,双引号不需要转义。-1:1片段是删除开头和结尾的单引号。

代码语言:javascript
复制
>>> x = raw_input()
I'm "stuck" :\
>>> print x
I'm "stuck" :\
>>> print repr(x)[1:-1]
I\'m "stuck" :\\

或者你只是想逃避一个短语粘贴到你的程序中?如果是这样,请执行以下操作:

代码语言:javascript
复制
>>> raw_input()
I'm "stuck" :\
'I\'m "stuck" :\\'
票数 9
EN

Stack Overflow用户

发布于 2013-08-02 01:34:10

如上所述,答案取决于您的情况。如果您想转义正则表达式的字符串,那么您应该使用re.escape()。但是如果你想转义一组特定的字符,那么可以使用这个lambda函数:

代码语言:javascript
复制
>>> 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\" :\\
票数 3
EN

Stack Overflow用户

发布于 2015-02-13 16:22:01

如果您只想替换一些字符,您可以使用以下命令:

代码语言:javascript
复制
import re

print re.sub(r'([\.\\\+\*\?\[\^\]\$\(\)\{\}\!\<\>\|\:\-])', r'\\\1', "example string.")
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4202538

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档