替换python中的特殊字符

替换python中的特殊字符,第1张

替换python中的特殊字符

如果,

s=url['title']
品牌
s
等于以下内容:

In [48]: s=u'Oscar Winners Best Pictures Box Set xc2xa36.49'

那么问题是

  1. 定义的代码中
    url
  2. 否则来自网络的内容格式不正确。

如果是案例1,我们需要查看定义的代码

url

如果是第2种情况,一种快捷的解决方法是

s
使用
raw-unipre-escape
编解码器对unipre对象进行编码

In [49]: print(s)Oscar Winners Best Pictures Box Set £6.49In [50]: print(s.enpre('raw-unipre-escape'))Oscar Winners Best Pictures Box Set £6.49

另请参阅此SO问题。


关于这样的标题

s=u'Star Trek XI £3.99'
:同样,最好在问题到达现阶段之前解决问题-
也许可以通过查看
url
定义方式来解决。但是,假设来自网络的内容格式不正确,可以采用以下解决方法:

In [86]: import reIn [87]: print(re.sub(r'&#x([a-fA-Fd]+);',lambda m: unichr(int(m.group(1),base=16)),s))Star Trek XI £3.99

一点解释:

注意

In [51]: x=u'£'In [53]: x.enpre('utf-8')Out[53]: 'xc2xa3'

因此

u'£'
,用
utf-8
编解码器编码的unipre对象成为字符串对象
'xc2xa3'

不知何故,

url['title']
被定义为 unipre 对象
u'xc2xa3'
。(
u
有很大的不同!)

这样,

u'xc2xa3'
当我们有欲望时
'xc2xa3'
u'xc2xa3'
使用
raw-unipre-escape
编解码器对unipre对象进行编码会将其转换为
'xc2xa3'



欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5631742.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-15
下一篇2022-12-15

发表评论

登录后才能评论

评论列表(0条)

    保存