feat(stringx): 自 go-hua/common 迁入字符串/切片/拼音工具并独立成包
- 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)
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
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
|
||||
}
|
||||
Reference in New Issue
Block a user