首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Python3中有没有办法避免多个html.unescape调用?

在Python3中有没有办法避免多个html.unescape调用?
EN

Stack Overflow用户
提问于 2019-11-07 07:12:49
回答 1查看 158关注 0票数 0

所以我一直在尝试去掉特殊的超文本标记语言字符,并使用html.unescape来实现。问题是,如果一行中有两个特殊字符,函数并不能真正按照我所希望的方式工作

我尝试过多个函数调用,比如html.unescape(html.unescape(text)),但这肯定是个糟糕的主意

代码语言:javascript
复制
str='Anchor says Buckingham Palace pressure killed ABC's story on Epstein'
print(html.unescape(str))

因此,不是替换所有字符,而是输出:

代码语言:javascript
复制
Anchor says Buckingham Palace pressure killed ABC's story on Epstein

有没有办法解决这类问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-07 07:21:30

评论是正确的,他们说,当我们的数据被多个层次深度转义时,通常会出现问题。然而,如果我们想要接受这个问题,并且仍然需要解决它,那么如果我们收到一个可能多次转义的字符串,并且我们不知道它被转义的频率有多高,我们就可以不再转义它,也就是说,直到它不再改变。

我们可以使用while-loop执行此操作,如下所示:

代码语言:javascript
复制
import html


def ultimately_unescape(s: str) -> str:
    unescaped = ""
    while unescaped != s:
        s = html.unescape(s)
        unescaped = html.unescape(s)

    return s

这就给我们提供了:

代码语言:javascript
复制
>>> ultimately_unescape("Anchor says Buckingham Palace pressure killed ABC's story on Epstein"))
"Anchor says Buckingham Palace pressure killed ABC's story on Epstein"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58739772

复制
相关文章

相似问题

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