差异查找对应得union编码
在上一篇番茄小说爬取中,我没给出怎么找到中文对应得编码,之前使用ai图片识别出来,后面我想了一下,感觉还是太麻烦了,现在给出一种差异查找法
package main
import (
"fmt"
"regexp"
)
func main() {
a := "大街上扩大解释。"
b := "大54544上扩54444解释。"
// 创建正则表达式,匹配单个汉字、字母、数字、逗号、句号
re := regexp.MustCompile(`[a-zA-Z]|\p{Han}|\d+|,|。`)
// 找到所有匹配的单个汉字、数字、字母、逗号、句号
aMatches := re.FindAllString(a, -1)
bMatches := re.FindAllString(b, -1)
// 使用map存储差异
diffMap := make(map[string]string)
// 依次比较两个切片,找出差异并存入map
for i := 0; i < len(aMatches) && i < len(bMatches); i++ {
if aMatches[i] != bMatches[i] {
diffMap[bMatches[i]] = aMatches[i]
}
}
// 按照顺序输出差异
for _, bMatch := range bMatches {
if val, ok := diffMap[bMatch]; ok {
fmt.Printf("%s : %s\n", bMatch, val)
}
}
}
这样我们多跑个几篇小说,差不多就可以得出全部了,也不用一个一个ai图片识别了