2
是否有一些优雅的方式来裁剪字符串并在golang中创建漂亮的字符串前缀?我有这个功能开始:使用utf-8符号的golang中请求长度的字符串前缀
func prettyCrop(in string, cropLength int) string {
if len(in) < cropLength {
return in
} else {
in = in[0:cropLength]
in = strings.TrimRightFunc(in, func(r rune) bool {
if r == ' ' {
return true
}
return false
})
return in + "…"
}
}
它适用于英文文本,但有一些更复杂的问题。看到这个例子:
prettyCrop("čřč čřč", 8) //čř?…
TrimRightFunc不工作,我期望在这里。我预计它会返回čřč
。为什么这个函数没有返回有效的utf-8字符串?有这样的图书馆吗?我该如何解决它?有更好的解决方案吗?