无论如何,我可以将这个韩语辅音和元音组合成一个完整的角色.
例如,如果我有
????????????
Run Code Online (Sandbox Code Playgroud)
这将是
?????
Run Code Online (Sandbox Code Playgroud)
有没有办法做到这一点?我只能想到每一个必须要计算很多案例的案件.
以下是我的尝试.不是最佳的,需要花费太多时间.
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)
}
Run Code Online (Sandbox Code Playgroud)
你想要的是Unicode规范化来组成hangul jamo.Go支持此功能,但尚未在标准库中支持.请参阅此相关问题.
要导入外部go.text/unicode/norm
包,请使用:
go get -u golang.org/x/text/unicode/norm
Run Code Online (Sandbox Code Playgroud)
你可能想要使用NFC来做一个
NFD(分解)的例子:
// ? -> ???
fmt.Println( string( norm.NFD.AppendString(nil, "?") ) )
Run Code Online (Sandbox Code Playgroud)
NFC(组合)示例:
// ??? -> ?
fmt.Println( string( norm.NFC.AppendString(nil, "???") ) )
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
948 次 |
最近记录: |