无论如何,我可以将这个韩语辅音和元音组合成一个完整的角色。
例如,如果我有
ㄱㅏㅁㅅㅏㅎㅏㅂㄴㅣㄷㅏ
这将是
감사합니다
有没有办法做到这一点? 我只能想到强调每一个必须计算很多案例的案例。
以下是我的尝试。不是最佳的,需要花费太多时间。
if strings.Contains(input_str, "ㅏㄴㅈ") {
input_str = strings.Replace(input_str, "ㅇㅏㄴㅈ", "앉", -1)
}
if strings.Contains(input_str, "ㅏㄹㅂ") {
input_str = strings.Replace(input_str, "ㅂㅏㄹㅂ", "밟", -1)
}
if strings.Contains(input_str, "ㅏㅂㅅ") {
input_str = strings.Replace(input_str, "ㄱㅏㅂㅅ", "값", -1)
}
答案 0 :(得分:6)
你想要的是用于组成hangul jamo的Unicode规范化。 Go支持此功能,但尚未在标准库中支持。请参阅this related issue。
要导入外部go.text/unicode/norm
包,请使用:
go get -u golang.org/x/text/unicode/norm
您可能想要使用NFC来执行
NFD(分解)的例子:
// 앉 -> 앉
fmt.Println( string( norm.NFD.AppendString(nil, "앉") ) )
NFC(组合物)的实例:
// 앉 -> 앉
fmt.Println( string( norm.NFC.AppendString(nil, "앉") ) )
答案 1 :(得分:1)