石家庄的电商网站建设,如何建设网站24小时接单,福州 网站建设 医疗,美食网站开发流程题目#xff1a;
1410. HTML 实体解析器
「HTML 实体解析器」 是一种特殊的解析器#xff0c;它将 HTML 代码作为输入#xff0c;并用字符本身替换掉所有这些特殊的字符实体。
HTML 里这些特殊字符和它们对应的字符实体包括#xff1a;
双引号#xff1a;字符实体为
1410. HTML 实体解析器
「HTML 实体解析器」 是一种特殊的解析器它将 HTML 代码作为输入并用字符本身替换掉所有这些特殊的字符实体。
HTML 里这些特殊字符和它们对应的字符实体包括
双引号字符实体为 quot; 对应的字符是 。单引号字符实体为 apos; 对应的字符是 。与符号字符实体为 amp; 对应对的字符是 。大于号字符实体为 gt; 对应的字符是 。小于号字符实体为 lt; 对应的字符是 。斜线号字符实体为 frasl; 对应的字符是 / 。
给你输入字符串 text 请你实现一个 HTML 实体解析器返回解析器解析后的结果。
示例 1
输入text amp; is an HTML entity but ambassador; is not.
输出 is an HTML entity but ambassador; is not.
解释解析器把字符实体 amp; 用 替换示例 2
输入text and I quote: quot;...quot;
输出and I quote: \...\示例 3
输入text Stay home! Practice on Leetcode :)
输出Stay home! Practice on Leetcode :)示例 4
输入text x gt; y amp;amp; x lt; y is always false
输出x y x y is always false示例 5
输入text leetcode.comfrasl;problemsetfrasl;all
输出leetcode.com/problemset/all提示
1 text.length 10^5字符串可能包含 256 个ASCII 字符中的任意字符。
解答 代码
class Solution {public String entityParser(String text) {MapString,String mapnew HashMap();map.put(quot;,\);map.put(apos;,);map.put(amp;,);map.put(gt;,);map.put(lt;,);map.put(frasl;,/);int ntext.length();StringBuilder sbnew StringBuilder();for(int i0;in;){if(text.charAt(i)){int ji1;while(jnj-i6text.charAt(j)!;) j;String subtext.substring(i,Math.min(j1,n));if(map.containsKey(sub)){sb.append(map.get(sub));ij1;continue;}}sb.append(text.charAt(i));}return sb.toString();}
}
结果