根据显示长度截取字符串,之前php用的utf8编码,10个英文和10个汉字的显示长度差距太大,按字节截取的话又会出错出现截取半个汉字的情况,所以写了这两个函数.
这两天在折腾golang,所以就用golang重写了着连个函数.代码如下:
package main import ( "fmt" ) func main() { fmt.Println(show_strlen("哈哈1")) fmt.Println(show_substr("哈哈1什1么的", 9)) }
根绝显示长度截取字符串
func show_substr(s string, l int) string { if len(s) <= l { return s } ss, sl, rl, rs := "", 0, 0, []rune(s) for _, r := range rs { rint := int(r) if rint < 128 { rl = 1 } else { rl = 2 } if sl + rl > l { break } sl += rl ss += string(r) } return ss }
根据字符串显示获取显示长度
func show_strlen(s string) int { sl := 0 rs := []rune(s) for _, r := range rs { rint := int(r) if rint < 128 { sl++ } else { sl += 2 } } return sl }
相关推荐
主要介绍了go语言按显示长度截取字符串的方法,涉及Go语言操作字符串的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
geopattern - 在golang中从一个字符串创建漂亮的生成图像模式
在golang中可以通过切片截取一个数组或字符串,但是当截取的字符串是中文时,可能会出现问题,下面我们来自定义个函数解决Golang中文字符串截取问题
本文主要给大家介绍了关于Golang实现字符串倒序的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍: 字符串倒置如下: Hello World –> dlroW olleH 解决方案1: length := len(str) ...
在我们使用Golang进行开发过程中,总是绕不开对字符或字符串的处理,而在Golang语言中,对字符和字符串的处理方式可能和其他语言不太一样,比如Python或Java类的语言,本篇文章分享一些Golang语言下的Unicode和字符...
golang调用c++DLL返回值为char*参数为const char*,读取返回DLL返回值,传递char*型参数
详解Golang 与python中的字符串反转 在go中,需要用rune来处理,因为涉及到中文或者一些字符ASCII编码大于255的。 func main() { fmt.Println(reverse(Golang python)) } func reverse(src string) string { dst ...
Strutil strutil提供了用于计算字符串相似度的字符串度量标准以及其他字符串实用程序功能。 完整文档可在以下找到: : 。安装 go get github.com/adrg/strutil字符串指标杰罗·温克勒史密斯·沃特曼·高图索伦森-...
ttlcache, 在内存中,golang的字符串字符串映射过期, TTLCache - 具有过期的内存LRU缓存TTLCache是golang中字符串映射的最小包装,其中的条目为线程安全在一定时间后自动过期在 Get 上自动延长到期时间 用法import ...
本文实例讲述了golang实现unicode转换为字符串string的方法。分享给大家供大家参考,具体如下: 代码如下:package main import ( “bytes” “encoding/binary” “encoding/hex” “fmt” “strings” )...
主要介绍了golang 中获取字符串个数 ,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
本文给大家分享的是Golang使用zlib压缩和解压缩字符串的方法和示例,有需要的小伙伴可以参考下
分割0x02 注释格0x03 标识符标识符来对变量,类型等程序实体命名第个字不能是数字,并且标识符不能是数字或者Go语关键词正确的标识符:错误的0x04 字符串
Golang字符串操作帮助程序包 在Stringy软件包的帮助下,将字符串转换为驼峰式案例,蛇形案例,烤肉串案例/ slugify,自定义定界符,填充字符串,挑逗字符串和许多其他功能。 您可以将骆驼皮转换为蛇皮或kebabcase,...