本文實(shí)例講述了go語言按顯示長度截取字符串的方法。分享給大家供大家參考。具體分析如下:
根據(jù)顯示長度截取字符串,之前php用的utf8編碼,10個(gè)英文和10個(gè)漢字的顯示長度差距太大,按字節(jié)截取的話又會(huì)出錯(cuò)出現(xiàn)截取半個(gè)漢字的情況,所以寫了這兩個(gè)函數(shù).
這兩天在折騰golang,所以就用golang重寫了著連個(gè)函數(shù).代碼如下:
復(fù)制代碼 代碼如下:
package main
import (
"fmt"
)
func main() {
fmt.Println(show_strlen("哈哈1"))
fmt.Println(show_substr("哈哈1什1么的", 9))
}
根絕顯示長度截取字符串
復(fù)制代碼 代碼如下:
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
}
根據(jù)字符串顯示獲取顯示長度
復(fù)制代碼 代碼如下:
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
}
希望本文所述對(duì)大家的Go語言程序設(shè)計(jì)有所幫助。
您可能感興趣的文章:- Go 高效截取字符串的一些思考
- Golang中文字符串截取函數(shù)實(shí)現(xiàn)原理
- Go語言按字節(jié)截取字符串的方法
- Go語言截取字符串函數(shù)用法
- golang快速實(shí)現(xiàn)網(wǎng)頁截圖的方法