5382. HTML 实体解析器

Leetcode 专栏收录该内容
368 篇文章 0 订阅

「HTML 实体解析器」 是一种特殊的解析器,它将 HTML 代码作为输入,并用字符本身替换掉所有这些特殊的字符实体。

HTML 里这些特殊字符和它们对应的字符实体包括:

双引号:字符实体为 " ,对应的字符是 " 。
单引号:字符实体为 ' ,对应的字符是 ' 。
与符号:字符实体为 & ,对应对的字符是 & 。
大于号:字符实体为 > ,对应的字符是 > 。
小于号:字符实体为 &lt; ,对应的字符是 < 。
斜线号:字符实体为 &frasl; ,对应的字符是 / 。
给你输入字符串 text ,请你实现一个 HTML 实体解析器,返回解析器解析后的结果。

这次周赛3前三道都是暴力..

1.库函数replace一把梭

2.找到实体一个个替换...

class Solution:
    def entityParser(self, text: str) -> str:
        return text.replace("&quot;",'"').replace("&apos;","'").replace("&gt;",">").replace("&lt;","<").replace("&frasl;","/").replace("&amp;","&")

class Solution:
    def entityParser(self, text: str) -> str:
        d={
            "&quot;":'"',
            "&apos;":"'",
            "&amp;":'&',
            "&gt;":'>',
            "&lt;":'<',
            "&frasl;":'/'
        }
        r=0
        res=""
        while r<len(text):
            if r<len(text) and text[r]!='&':
                res+=text[r]
                r+=1
            else:
                tmp=""
                while r<len(text) and text[r]!=';':
                    tmp+=text[r]
                    r+=1
                tmp+=';'
                r+=1
                if tmp in d:
                    tmp=d[tmp]
                res+=tmp
        return res

 

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
©️2020 CSDN 皮肤主题: 创作都市 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值