1410. HTML 实体解析器

1410. HTML 实体解析器

解法一: 模拟

go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
func entityParser(text string) string {
n := len(text)
sb := strings.Builder{}
wordMap := map[string]string{
""": "\"",
"'": "'",
"&": "&",
">": ">",
"&lt;": "<",
"&frasl;": "/",
}
for i := 0; i < n; {
isReplace := false
if text[i] == '&' {
for source, target := range wordMap {
if i + len(source) <= n && text[i:i+len(source)] == source {
sb.WriteString(target)
i += len(source)
isReplace = true
break
}
}
}
if(!isReplace) {
sb.WriteString(string(text[i]))
i++
}
}
return sb.String()
}
作者

wuhunyu

发布于

2023-11-23

更新于

2023-11-23

许可协议