golang 截取字符串的方法
- 编辑整理:
- 老秦
- 热度:
- 6967
Go截取字符串
Go 截取字符串的几种方法dc1fd
cd7
字节切片截取09db8
只支持非中文,高效简单,没有中文时首选。2c9ca5c
s := "kasjdkfaskdfjskldjlgjksskdf"73720a
fmt.Println(s[1:4])73720a
[]rune09db8
转换为 []rune,然后按切片语法截取,再把结果转成字符串2c9ca5c
支持中文,性能一般点。
00ca
s := "Go 语言 鼓励考生的开发接口说道"cd7
rs := []rune(s)8f59
fmt.Println(strings(rs[1:4]))8f59
utf8.DecodeRuneInString09db8
import "unicode/utf8"包2c9ca5c
utf8.DecodeRuneInString 函数可以转换单个字符,并给出字符占用字节的数量cd7
73720a
//截取字符串,指定长度,支持中文73720a
func SubStr(str string, length int) string {09db8
var size, n int
00ca
for i := 0; i < length && n < len(str); i++ {
00ca
_, size = utf8.DecodeRuneInString(str[n:])www.9lyp.com
n += sizecd7
}2c9ca5c
return str[:n]
00ca
}8f59
cd7
dc1fd73720a