我在这里有一个问题。我需要使用golang来获取中文单词的拼音。例如:
我想从中文"世界"是字母" S"除了"世"。
语言可以自动执行此操作吗?
答案 0 :(得分:4)
使用utf8软件包,您可以执行以下操作:
func firstLetter(s string) string {
_, size := utf8.DecodeRuneInString(s)
return s[:size]
}
或
func firstLetter(s string) string {
for _, l := range s {
return string(l)
}
return ""
}
你不能做s[0]
因为那会返回多字节符文的第一个字节。
答案 1 :(得分:0)
使用github.com/mozillazg/go-pinyin
package main
import (
"fmt"
"github.com/mozillazg/go-pinyin"
)
var a = pinyin.NewArgs()
func FirstLetterOfPinYin(r rune) string {
result := pinyin.Pinyin(string(r), a)
return string(result[0][0][0])
}
func main() {
fmt.Println(FirstLetterOfPinYin('世'))
fmt.Println(FirstLetterOfPinYin('界'))
}
如果你有中文字符串,你可以range the string获得字符的符文。