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

【LeetCode】每日一题 2023_11_23 HTML 实体解析器(调库/打工)

文章目录

  • 刷题前唠嗑
  • 题目: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:i+1])i++}}return strings.Join(res, "") // 拼接成字符串
}

其实实现起来也没什么意思~

结语

对 go 的 strings 包有了更多的理解和应用。

http://www.lryc.cn/news/249057.html

相关文章:

  • Flask SocketIO 实现动态绘图
  • 软著项目推荐 深度学习 植物识别算法系统
  • 自动驾驶HWP 功能规范
  • Ubuntu 环境下 NFS 服务安装及配置使用
  • vue.js如何根据后台返回来的图片url进行图片下载
  • 获取WordPress分类链接
  • <Linux>(极简关键、省时省力)《Linux操作系统原理分析之Linux 进程管理 5》(9)
  • Anthropic推出Claude 2.1聊天机器人;使用AI工具写作:挑战与策略
  • 2023-11-30 LeetCode每日一题(确定两个字符串是否接近)
  • 进程间通信基础知识【Linux】——上篇
  • OpenSSH(CVE-2023-38408)OpenSsh9.5一键升级修复
  • 10.30 作业 C++
  • Python开发运维:PyMongo 连接操作 MongoDB
  • 【Github】本地管理github分支
  • Spring Boot 项目中读取 YAML 文件中的数组、集合和 HashMap
  • Python正则表达式:match()和search()函数全面解读
  • AIGC ChatGPT4总结Linux Shell命令集合
  • 力扣labuladong——一刷day61
  • nacos配置变更导致logback日志异常
  • 【spring(五)】SpringMvc总结 SSM整合流程
  • 1、windows10系统下Qt5.12.0与卸载
  • WebGL/threeJS面试题扫描与总结
  • Qt connect()方法Qt::ConnectionType
  • HIVE SQL时间函数
  • linux磁盘的LVM、交换分区以及文件系统
  • 【HDFS】ActiveNamenodeResolver#getNamespaces 方法调用点梳理
  • 算法—双指针
  • ​[Oracle]编写程序,键盘输入n,计算1+前n项之和。测试案例:输入:10 输出:22.47​
  • 【视觉SLAM十四讲学习笔记】第三讲——旋转向量和欧拉角
  • 【UGUI】制作用户注册UI界面