- common 的 string.go/array.go/pinyin.go 拆为 stringx 包(含随机串、GUID、 通配符匹配、校验规则、链式缓冲、驼峰转下划线、切片删元素、拼音首字母) - 附单元测试与 examples/stringx 可运行例程、包 README - go.mod 新增直接依赖 mozillazg/go-pinyin(go-hua 同版本锁 v0.20.0→实际解析 v0.21.0)
27 lines
517 B
Go
27 lines
517 B
Go
package stringx
|
|
|
|
import (
|
|
"strings"
|
|
|
|
"github.com/mozillazg/go-pinyin"
|
|
)
|
|
|
|
// GetFirstLetter 获取中文首字母(非中文字符原样返回)
|
|
func GetFirstLetter(value string) string {
|
|
// 默认
|
|
py := pinyin.NewArgs()
|
|
py.Style = pinyin.FirstLetter
|
|
py.Fallback = func(r rune, a pinyin.Args) []string {
|
|
return []string{string(r)}
|
|
}
|
|
retText := ""
|
|
result := pinyin.Pinyin(value, py)
|
|
for _, res := range result {
|
|
for _, s := range res {
|
|
retText += strings.ToLower(s)
|
|
break
|
|
}
|
|
}
|
|
return retText
|
|
}
|