【发布时间】:2017-09-05 14:23:59
【问题描述】:
有没有一些优雅的方法可以在 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 字符串?有这方面的图书馆吗?我该如何解决?有没有更好的解决方案?
【问题讨论】: