域名年费多少网站建设,wordpress在线转pdf,福州网站专业建设,网站的底部导航栏怎么做文章目录 刷题前唠嗑题目#xff1a;HTML 实体解析器题目描述代码与解题思路 结语 刷题前唠嗑 题目#xff1a;HTML 实体解析器
题目链接#xff1a;1410. HTML 实体解析器
题目描述 代码与解题思路
func entityParser(s string) (ans string) {return strings.NewRepla… 文章目录 刷题前唠嗑题目HTML 实体解析器题目描述代码与解题思路 结语 刷题前唠嗑 题目HTML 实体解析器
题目链接1410. HTML 实体解析器
题目描述 代码与解题思路
func entityParser(s string) (ans string) {return strings.NewReplacer(quot;, , apos;, , gt;, , lt;, , frasl;, /, amp;, ).Replace(s)
}对不起我有罪我堕入了库函数神教直接用 golang 的 strings 标准库提供的字符串替换方法做了。无论是一个个打 if else 实现又或者是用哈希打表实现都太麻烦且打工了随后就没忍住偷懒了呜呜
func entityParser(text string) string {entityMap : map[string]string{quot;: \,apos;: ,gt;: ,lt;: ,frasl;: /,amp;: ,}i : 0n : len(text)res : make([]string, 0)for i n {isEntity : falseif text[i] {for k, v : range entityMap {if i len(k) n text[i : i len(k)] k {res append(res, v)isEntity truei len(k)break}}}if !isEntity {res append(res, text[i:i1])i}}return strings.Join(res, ) // 拼接成字符串
}其实实现起来也没什么意思~
结语
对 go 的 strings 包有了更多的理解和应用。