根据显示长度截取字符串,之前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 }
相关推荐
这里我们探讨的主题是如何按显示长度来截取字符串,这在处理多语言文本时尤其重要,因为不同字符集(如UTF-8)中的字符长度可能不一致。在UTF-8编码下,一个英文字符通常占用1个字节,而一个汉字则可能占用1到3个...
这个自定义函数通过将字符串视为rune数组来处理中文字符截取问题,从而避免了因直接操作字节而造成的字符编码错误。通过这种方式,即使在中文字符串中进行任意位置和任意长度的截取,也能保证结果字符串的正确性和...
在Golang中,`Go-geopattern`是一个开源库,它允许开发者从任何字符串生成美观的几何图案,这些图案可以用于网站背景、验证码、艺术作品等。这个库的灵感来源于JavaScript的`GeoPattern`库,但在Golang中提供了更...
本文主要给大家介绍了关于Golang实现字符串倒序的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍: 字符串倒置如下: Hello World –> dlroW olleH 解决方案1: length := len(str) ...
下面我们将详细探讨几种在Golang中计算字符串字符个数的方法。 1. **使用`bytes.Count()`**: `bytes.Count()`函数可以用来计算一个字符串中出现另一个字符串的次数。在这个场景中,我们传入nil作为第二个参数,它...
在我们使用Golang进行开发过程中,总是绕不开对字符或字符串的处理,而在Golang语言中,对字符和字符串的处理方式可能和其他语言不太一样,比如Python或Java类的语言,本篇文章分享一些Golang语言下的Unicode和字符...
详解Golang 与python中的字符串反转 在go中,需要用rune来处理,因为涉及到中文或者一些字符ASCII编码大于255的。 func main() { fmt.Println(reverse(Golang python)) } func reverse(src string) string { dst ...
在Golang编程语言中,...总的来说,理解Golang的基础语法,包括分隔符、注释、标识符和字符串拼接,对于编写高效且易于维护的代码至关重要。同时,遵循良好的编码风格,如适当使用空格,可以极大地提升代码的可读性。
Strutil strutil提供了用于计算字符串相似度的字符串度量标准以及其他字符串实用程序功能。 完整文档可在以下找到: : 。安装 go get github.com/adrg/strutil字符串指标杰罗·温克勒史密斯·沃特曼·高图索伦森-...
ttlcache, 在内存中,golang的字符串字符串映射过期, TTLCache - 具有过期的内存LRU缓存TTLCache是golang中字符串映射的最小包装,其中的条目为线程安全在一定时间后自动过期在 Get 上自动延长到期时间 用法import ...
字符串截取是程序设计中常用的技巧之一,通常是指根据指定的开始位置和长度截取原字符串的一部分。在Go语言中,可以通过组合使用基本的字符串操作函数来实现字符串的截取。 首先,Go语言没有直接提供一个名为...
### Golang 实现 Unicode 转换为字符串 String 的方法 在编程中,字符串的处理是常见的需求之一,尤其在涉及到不同字符集之间的转换时更是如此。Golang 作为一种现代编程语言,在处理这类问题上提供了丰富的支持。...
过滤一个字符串中包含有表情的字符,例如一个用户昵称中包含的表情
golang调用c++DLL返回值为char*参数为const char*,读取返回DLL返回值,传递char*型参数
Golang字符串操作帮助程序包 在Stringy软件包的帮助下,将字符串转换为驼峰式案例,蛇形案例,烤肉串案例/ slugify,自定义定界符,填充字符串,挑逗字符串和许多其他功能。 您可以将骆驼皮转换为蛇皮或kebabcase,...