繁体   English   中英

python 替换反斜杠和单引号

[英]python replace backslash and single quote

我有这个代码:

'Tokyo\'s'.replace(r'\"', '"').replace(r"\'", ''')

我已经查看了有关此问题的一些旧 StackOverflow 主题,但无法弄清楚。

我仍然得到相同的结果回到Tokyo\'s

寻找的结果是Tokyo's

我正在尝试将它们转换为 XML 转义字符

https://www.advancedinstaller.com/user-guide/xml-escaped-chars.html

还尝试使用escape("'")这给了我\'回来。

您的建议将不胜感激!

摆脱逃避\

'Tokyo\'s'.replace('"', '"').replace("'", ''')

这将返回'Tokyo's'

当使用r"\'"作为要替换的目标时,它会准确查找模式\' 该模式在您的原始字符串Tokyo's中不存在。

注意:原字符串不是Tokyo\'s ,因为这个字符串中的\'是 escaping '

print('Tokyo\'s'.replace('"', '"').replace("'", '''))

应该可以,但一般来说,如果您想用 HTML 实体替换字符,请参阅https://wiki.python.org/moin/EscapingHtml

您可以使用translate()在这里获得更大的灵活性和更简洁的代码:

table = str.maketrans({'"': '"',
                       "'": '''
                       }
                      )

print('Tokyo\'s'.translate(table))

输出:

Tokyo's

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM