如何使用Go从给定的UTF8编码字符串中删除所有变音符号?例如,转换字符串"žůžo"=> "zuzo"。有没有标准的方法?
"žůžo"
"zuzo"
您可以使用Go中的文本规范化中描述的库。
这是这些库的应用程序:
// Example derived from: http://blog.golang.org/normalization package main 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) }