当前位置: 首页 > article >正文

字符串:leetcode1410. HTML 实体解析器

1410. HTML 实体解析器

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

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

  • 双引号:字符实体为 " ,对应的字符是 " 。
  • 单引号:字符实体为 ' ,对应的字符是 ' 。
  • 与符号:字符实体为 & ,对应对的字符是 & 。
  • 大于号:字符实体为 > ,对应的字符是 > 。
  • 小于号:字符实体为 &lt; ,对应的字符是 < 。
  • 斜线号:字符实体为 &frasl; ,对应的字符是 / 。

给你输入字符串 text ,请你实现一个 HTML 实体解析器,返回解析器解析后的结果。

使用双指针遍历string

int i=0;

while(i<n):

     if(s[i]第一个符合条件){

      int j=i;

      while(j<n&&s[j]符合条件)j++;//停下后j不符合条件;

      string t=s.substr(i,j-i);//扣字符串

       ....

    }

class Solution {
public:
    string entityParser(string s) {
        map<string, char> mp;
        mp["quot"] = '\"';
        mp["apos"] = '\'';
        mp["amp"] = '&';
        mp["gt"] = '>';
        mp["lt"] = '<';
        mp["frasl"] = '/';
        string res="";
        int i=0,n=s.size();
        while(i<n){
            if(s[i]!='&'){
                res+=s[i];
                i++;
            }else{
                int j=i;
                while(j<n&&s[j]!=';')j++;
                string t=s.substr(i+1,j-i-1);
                if(!mp[t]){
                    res+=s[i];
                    i++;
                }else{
                    res+=mp[t];
                    i=j+1;
                }
            }
        }
        return res;
    }

};


http://www.kler.cn/a/145129.html

相关文章:

  • matlab的.mat文件怎么把表格中的值全部设置为空
  • Addressable学习
  • 百度热力图数据获取,原理,处理及论文应用5
  • HttpClient学习
  • ODP(OBProxy)路由初探
  • 大数据相关职位介绍之二(数据治理,数据库管理员, 数据资产管理师,数据质量专员)
  • 均匀球形分布的随机三维单位向量
  • 【nlp】2.8 注意力机制拓展
  • TCP/IP协议、三次握手、四次挥手
  • 【开源项目】C#.NET 扩展库 -- Com.Gitusme.Net.Extensiones.Core
  • 为什么程序员最应该学习的是运营与销售,而不是技术?
  • AMESim与MATLAB联合仿真demo
  • 数据结构与算法之二叉树: LeetCode 226. 翻转二叉树 (Typescript版)
  • 24. 深度学习进阶 - 矩阵运算的维度和激活函数
  • C#,《小白学程序》第十一课:双向链表(Linked-List)其二,链表的插入与删除的方法(函数)与代码
  • CocosCreator 面试题(十五)Cocos Creator如何内置protobuf JS版本?
  • Spring Boot 3.2.0 现已推出
  • 基于springboot实现私人健身与教练预约管理系统项目【项目源码+论文说明】计算机毕业设计
  • postgresql从入门到精通 - 第35讲:中间件PgBouncer部署|PostgreSQL教程
  • Re54:读论文 How Context Affects Language Models‘ Factual Predictions
  • 梯度详解与优化实战
  • Android 一键屏锁的实现
  • RabbitMQ之发送者(生产者)可靠性
  • Linux常用命令——bg命令
  • MyBatis的功能架构,MyBatis的框架架构设计,Mybatis都有哪些Executor执行器,Mybatis中如何指定使用哪一种Executor执行器
  • ctfshow刷题web入门--1--ljcsd