You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
58 lines
996 B
58 lines
996 B
|
3 years ago
|
package textcomparison
|
||
|
|
|
||
|
|
import (
|
||
|
|
"fmt"
|
||
|
|
"strings"
|
||
|
|
|
||
|
|
"github.com/Chain-Zhang/pinyin"
|
||
|
|
)
|
||
|
|
|
||
|
|
/*
|
||
|
|
*
|
||
|
|
@ 作者: 秦东
|
||
|
|
@ 时间: 2022-09-30 16:00:42
|
||
|
|
@ 功能: 中文转拼音
|
||
|
|
@ 参数
|
||
|
|
|
||
|
|
#text 中文
|
||
|
|
|
||
|
|
@ 返回值
|
||
|
|
|
||
|
|
#pinYinStr 拼音
|
||
|
|
#err 错误信息
|
||
|
|
*/
|
||
|
|
func ChinaToPinYinFirstBig(text string) (pinYinStr string, err error) {
|
||
|
|
pinYinStr, err = pinyin.New(text).Split("").Mode(pinyin.InitialsInCapitals).Convert()
|
||
|
|
return
|
||
|
|
}
|
||
|
|
|
||
|
|
/*
|
||
|
|
*
|
||
|
|
@ 作者: 秦东
|
||
|
|
@ 时间: 2022-09-30 16:08:40
|
||
|
|
@ 功能: 获取首字母
|
||
|
|
@ 参数
|
||
|
|
|
||
|
|
#
|
||
|
|
|
||
|
|
@ 返回值
|
||
|
|
|
||
|
|
#
|
||
|
|
*/
|
||
|
|
func ChinaToPinYinFirstWord(text string) (pinYinStr string, err error) {
|
||
|
|
pinYinStrAll, err := pinyin.New(text).Convert()
|
||
|
|
pinYinAry := strings.Split(pinYinStrAll, " ")
|
||
|
|
if len(pinYinAry) < 1 {
|
||
|
|
err = fmt.Errorf("转译错误!")
|
||
|
|
return
|
||
|
|
}
|
||
|
|
for i := 0; i < len(pinYinAry); i++ {
|
||
|
|
if len(pinYinAry[i]) > 0 {
|
||
|
|
ziMuStr := pinYinAry[i][0]
|
||
|
|
firstWord := strings.ToUpper(string(ziMuStr))
|
||
|
|
pinYinStr = fmt.Sprintf("%v%v", pinYinStr, firstWord)
|
||
|
|
}
|
||
|
|
}
|
||
|
|
return
|
||
|
|
}
|