使用文本规范化库删除 Go 中的变音符号
如何轻松地从 Go 中的 UTF8 编码字符串中删除变音符号?例如,将字符串“žůžo”转换为“zuzo”。
解决方案:
幸运的是,Go 提供了一系列处理文本规范化的标准库,包括 Unicode标准化和变音符号删除。以下是有效利用它们的方法:
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) }
此代码使用 NFD(标准化形式 D)、Mn 去除和 NFC(标准化形式 C)算法进行一系列转换。结果有效地删除了输入字符串中的所有变音符号。
以上是如何在 Go 中删除 UTF-8 字符串中的变音符号?的详细内容。更多信息请关注PHP中文网其他相关文章!