Python raw string并不是“原始”字符串

前两天处理字符串的时候,因为需要做一些字符转义,比如说要把原字符串中所有的单引号前面加个反斜杠,给反斜杠前面再加个反斜杠啥的。一开始想着是这么写:

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

后来觉得反斜杠太多了,实在不太美观,就想着能不能用raw string来代替:

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

但是这个是会报错的,而且还是语法错误,SyntaxError: unexpected character after line continuation character。

后来翻了一下文档,发现raw string并不像我想当然的一样,会原封不动地展现字符串原始的模样(或许是因为名字具有误导性)。事实上,raw string仍然会进行转义。有一句话概括得很好:

When an ‘r’ or ‘<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值