leecode | HTML 解析器

提供一串字符串,根據給定的規則,去解析該字符串,并返回結果
簡而言之,就是根據指定的格式,替換內容
HTML 里這些特殊字符和它們對應的字符實體包括:
雙引號:字符實體為 " ,對應的字符是 " 。
單引號:字符實體為 ’ ,對應的字符是 ’ 。
與符號:字符實體為 & ,對應對的字符是 & 。
大于號:字符實體為 > ,對應的字符是 > 。
小于號:字符實體為 < ,對應的字符是 < 。
斜線號:字符實體為 ? ,對應的字符是 / 。
給你輸入字符串 text ,請你實現一個 HTML 實體解析器,返回解析器>解析后的結果。
簡單講一下,思路,結合替換的原字符串的規律,第一個字符為& 最后一個字符為&
用兩個“指針去做標記”,分別是 & 下標 和 ; 下標
當沒有比配,i 、j 都移動,然后 返回 ans += text[i];
當匹配上了,直接把儲存的對應結果加到 ans 上,然后 i = j + 1;進行下一次匹配

class Solution {
public:string entityParser(string text) {std::unordered_map<std::string, std::string> flags;flags["&quot;"] = "\"";flags["&apos;"] = "\'";flags["&amp;"] = "&";flags["&gt;"] = ">";flags["&lt;"] = "<";flags["&frasl;"] = "/";std::string ans;int i = 0, j = 0, n = text.size();while(i < n){if(text[i] != '&'){ans += text[i];++i;++j;}else{j = i;while(j < n && text[j] != ';'){++j;}std::string tem = text.substr(i, j - i + 1);if(flags.find(tem)== flags.end()){ans += text[i];++i;++j;continue;}ans += flags[tem];i = j + 1;}}return ans;}
};

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/162521.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/162521.shtml
英文地址,請注明出處:http://en.pswp.cn/news/162521.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

立言

根據我的理解&#xff0c;不了解佛法 和 了解佛法 得看 因緣。相比較了解佛法&#xff0c;理解佛法則顯得更難&#xff1b;相比較理解佛法&#xff0c;見解佛法則顯得更難&#xff1b;相比較見解佛法&#xff0c;證解佛法則顯得更難&#xff1b;相比較證解佛法&#xff0c;真正…

vue 文件md5

一、在項目根目錄下安裝 npm install --save js-md5 二、在vue文件中引入 import md5 from ‘js-md5’; 三、在vue文件中使用 md5(1); // d41d8cd98f00b204e9800998ecf84273// 加密中文 md5(中文);// 其他 md5([]);// Different output md5(1); // d41d8cd98f00b204e98009…

智能導視電子指路牌是什么?

SVIP-3800系列智能電子指路牌也稱智慧指路燈桿&#xff0c;智能指路牌&#xff0c;導航立柱&#xff0c;多功能指示牌&#xff0c;多功能路標&#xff0c;智能指路機器人&#xff0c;智能導視指路牌&#xff0c;問路導航機器人&#xff0c;智能路牌&#xff0c;叁仟智慧路牌、智…

統計學顯著性檢驗

方差齊性&#xff1a; 方差齊性指在兩個或多個總體中&#xff0c;它們的方差是相等的。 方差齊性是t檢驗、方差分析的前提條件之一。 方差分析&#xff08;ANOVA&#xff09;&#xff1a; 通過比較組間變異與組內變異的大小關系&#xff0c;來判斷樣本均值是否有顯著性差異&a…

數據結構-leetcode(設計循環隊列)

1.學習內容&#xff1a; 今天 我們講解一道能夠很好的總結所學隊列知識的題目---設計循環隊列 622. 設計循環隊列 - 力扣&#xff08;LeetCode&#xff09; 2.題目描述&#xff1a; 讓我們設計一個隊列 要求是循環的 這和我們的雙向鏈表有些類似 讓我們按要求設計出這些相對…

多線程解決大數據批量導出問題(demo)

1.首先從網上找一個到工具類&#xff0c;我這里是ExcelUtils&#xff0c;如下 package com.org.util;import org.apache.poi.xssf.streaming.SXSSFCell; import org.apache.poi.xssf.streaming.SXSSFRow; import org.apache.poi.xssf.streaming.SXSSFSheet;import java.beans.I…

Navicat 技術指引 | GaussDB 數據查看器

Navicat Premium&#xff08;16.2.8 Windows版或以上&#xff09; 已支持對GaussDB 主備版的管理和開發功能。它不僅具備輕松、便捷的可視化數據查看和編輯功能&#xff0c;還提供強大的高階功能&#xff08;如模型、結構同步、協同合作、數據遷移等&#xff09;&#xff0c;這…

讀論文模板

文章簡介 文章標題&#xff1a;文章鏈接作者單位&#xff1a;文章來源&#xff1a;會議視頻ppt1.他人代碼 2.作者代碼 文章思路 文章總結 1.解決問題 2.使用方法 3.文章不足

解釋器模式 (Interpreter Pattern)

定義 解釋器模式&#xff08;Interpreter Pattern&#xff09;是一種行為型設計模式&#xff0c;用于定義一種語言的語法表示&#xff0c;并提供一個解釋器來處理這種語法。這種模式用于實現語言解釋器&#xff0c;通常用于專業領域或復雜文本處理中。在解釋器模式中&#xff…

220V轉12V固定輸出12V非隔離芯片WT5106WT5105

220V轉12V固定輸出12V非隔離芯片WT5106WT5105 今天給大家介紹一款實用芯片&#xff0c;WT5106。它是一款高效率高精度的非隔離降壓開關電源恒壓控制驅動芯片。 WT5106適用于85VAC~265VAC全范圍輸入電壓的非隔離Buck、Buckboost拓撲結構&#xff0c;小家電、電機驅動、繼電器驅…

量子計算爭霸戰加碼?美國將撥款30億美元發展量子計算

&#xff08;圖片來源&#xff1a;網絡&#xff09; 美國眾議院科學、太空和技術委員會認為&#xff0c;如果不采取措施加速量子計算系統的發展&#xff0c;美國將落后于俄羅斯和中國。 因此&#xff0c;該小組的領導人——主席Frank Lucas&#xff08;共和黨&#xff09;和高…

云貝教育 |【PostgreSQL PGCA題目解析5】PostgresSQL是否能夠自動檢測到死鎖,然后退出其中一個事務?

考試科目&#xff1a;PGCA-E-090 考試題量&#xff1a;40 道單項選擇題、10 道多項選擇題&#xff08;每題 2 分&#xff09; 通過分數&#xff1a;60% 考試時間&#xff1a;60min 本文為云貝教育劉峰&#xff08;微信&#xff1a;yunbee_DBA&#xff09;原創&#xff0c;請…

基于 Modbus 的工業數據采集、控制(part 3)

Modbus 設備(利用 slave 模擬) Modbus 采集程序 client.c #include "client.h"modbus_t *ctx; key_t key_shm, key_msg; int shmid, msgid; struct shm *shm0; struct msgbuf msg0;void *collector(void *arg) {struct shm *p = (struct shm *)arg;while (1){sle…

瀏覽器事件循環原理 —— JS為何會阻礙渲染?

系列文章目錄 第一章 瀏覽器事件循環原理 —— 瀏覽器進程模型第二章 瀏覽器事件循環原理 —— 渲染主線程如何工作&#xff1f;第三章 瀏覽器事件循環原理 —— 何為異步&#xff1f; 文章目錄 系列文章目錄 文章目錄 前言 代碼解析 總結 前言 該文章作用于 “web前端大…

橋接模式 (Bridge Pattern)

定義&#xff1a; 橋接模式&#xff08;Bridge Pattern&#xff09;是一種結構型設計模式&#xff0c;用于將抽象部分與其實現部分分離&#xff0c;使它們可以獨立地變化。這種模式通過創建一個橋接接口&#xff0c;將抽象類和其實現類解耦&#xff0c;使得修改或擴展獨立的抽…

改進YOLOv5 | C3模塊改動篇 | 輕量化設計 |骨干引入動態卷積|CondConv

???YOLOv5實戰寶典--星級指南:從入門到精通,您不可錯過的技巧 ??-- 聚焦于YOLO的 最新版本, 對頸部網絡改進、添加局部注意力、增加檢測頭部,實測漲點 ?? 深入淺出YOLOv5:我的專業筆記與技術總結 ??-- YOLOv5輕松上手, 適用技術小白,文章代碼齊全,僅需 …

信號功率放大器的工作原理和特點是什么

信號功率放大器是一種電子設備&#xff0c;用于將輸入信號的功率進行放大&#xff0c;以達到所需的輸出功率水平。它在各個領域中都有廣泛的應用&#xff0c;包括音頻放大器、射頻放大器、激光功率放大器等。下面將詳細介紹信號功率放大器的工作原理和特點。 工作原理&#xff…

Git使用基礎總結(從小白到新手版)

(??? )&#xff0c;Hello我是祐言QAQ我的博客主頁&#xff1a;C/C語言&#xff0c;數據結構&#xff0c;Linux基礎&#xff0c;ARM開發板&#xff0c;網絡編程等領域UP&#x1f30d;快上&#x1f698;&#xff0c;一起學習&#xff0c;讓我們成為一個強大的攻城獅&#xff0…

只知道ECMAScript 2015(ES6),一篇匯總ECMAScript 2015~ECMAScript 2023新特性

前言 我們常說的ES6也就是ECMAScript 2015是在2015年6月發布的。這個版本引入了許多重要的語言特性和改進&#xff0c;對 JavaScript 進行了深刻的擴展和升級&#xff0c;ES6 是 JavaScript 語言的一個里程碑。所以有時也被稱為ES6。這是由于規范的發布年份與實際版本號之間的…

OpenAI“宮斗”新進展!Sam Altman將重返OpenAI擔任首席執行官 董事會成員改動

在經過激烈的五天討論和辯論之后&#xff0c;高調人工智能初創公司OpenAI宣布&#xff0c;其聯合創始人之一Sam Altman將回歸擔任首席執行官。這一決定是對上周Altman突然被解雇的回應&#xff0c;該決定引起了極大的關注和討論。 OpenAI表示&#xff0c;他們已經達成了與Altm…