栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

替换python中的特殊字符

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

替换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'



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/625857.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号