发现有很多带圈的数字(比如㉋ ,㊹ or ⒕ )或者有特殊标记的字符(比如žůžo),在match子字符串的时候无法match到,请教有没有统一的逻辑来处理这种case? 下面这段代码是我处理特殊标记字符的,可以得到`zuzo`并且打印出了`true`。但是不适用于带圈数字那种情况,比如:字符串"figure is ,㊹"想判断是否包含`44`,则会返回FALSE。目标是想返回`true`. 请问有谁做过类似的,指教一下如何处理那一块
```
import (
"fmt"
"unicode"
"golang.org/x/text/transform"
"golang.org/x/text/unicode/norm"
)
func isMn(r rune) bool {
return unicode.Is(unicode.Mn, r) // Mn: nonspacing marks
}
func main() {
t := transform.Chain(norm.NFD, transform.RemoveFunc(isMn), norm.NFC)
result, _, _ := transform.String(t, "žůžo")
fmt.Println(result)
if strings.contain(result, "zu") {
fmt.Println("true")
}
}
```
有疑问加站长微信联系(非本文作者)