首页 > 后端开发 > Golang > 如何在 Go 中删除 UTF-8 字符串中的变音符号?

如何在 Go 中删除 UTF-8 字符串中的变音符号?

Barbara Streisand
发布: 2024-12-09 01:53:11
原创
1055 人浏览过

How to Remove Diacritics from UTF-8 Strings in Go?

使用文本规范化库删除 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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板