Go学习:字符和字符串处理

编程入门 行业动态 更新时间:2024-10-10 19:21:20

Go学习:字符和<a href=https://www.elefans.com/category/jswz/34/1771434.html style=字符串处理"/>

Go学习:字符和字符串处理

rune相当于go的char

package mainimport ("fmt""unicode/utf8"
)func main() {s := "Yes我爱宋佳!" // UTF-8编码// Yes我爱宋佳!fmt.Println(s)for _,v := range []byte(s){// 59 65 73 E6 88 91 E7 88 B1 E5 AE 8B E4 BD B3 21fmt.Printf("%X ",v)}fmt.Println()// (0 59) (1 65) (2 73) (3 6211) (6 7231) (9 5B8B) (12 4F73) (15 21)// ch instanceof runefor i,ch := range s{fmt.Printf("(%d %X) ",i,ch)}fmt.Println()// RuneCountInString=> 8fmt.Println("RuneCountInString=>",utf8.RuneCountInString(s))bytes := []byte(s)for len(bytes) > 0 {ch, size := utf8.DecodeRune(bytes)bytes = bytes[size:]// Y e s 我 爱 宋 佳 !fmt.Printf("%c ",ch)}fmt.Println()// rune 相当于go的charfor i,ch := range []rune(s){// (0 Y) (1 e) (2 s) (3 我) (4 爱) (5 宋) (6 佳) (7 !)fmt.Printf("(%d %c) ",i,ch)}
}
  1. 使用range遍历pos,rune对
  2. 使用utf8.RuneCountInString获得字符数量
  3. 使用len获得字节长度
  4. 使用[]byte获得字节

strings常用操作

package mainimport ("fmt""strings"
)func main() {s := "HelloWorld"str := "llo"str1 := "a"// 判断s是否包含strfmt.Println(strings.Contains(s,str)) // truefmt.Println(strings.Contains(s,str1)) // false// 获取substr再字符串首次出现的下标// 如果不存在返回-1;如果substr是个空串返回0fmt.Println(strings.Index(s,"l")) // 2fmt.Println(strings.Index(s,"a")) // -1fmt.Println(strings.Index(s,"")) // 0// 将字符串中所有的字母小写fmt.Println(strings.ToLower("ABc")) // abc// 将字符串中所有的字母大写fmt.Println(strings.ToUpper("aBc")) // ABC// 去掉首尾与cutset匹配的字符fmt.Println(strings.Trim("abaca","a")) // bac// 去掉左侧与cutset匹配的字符fmt.Println(strings.TrimLeft("abaca","a")) // baca// 去掉右侧与cutset匹配的字符fmt.Println(strings.TrimRight("abaca","a")) // abac
}

更多推荐

Go学习:字符和字符串处理

本文发布于:2023-07-28 19:27:13,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1287122.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:字符串   字符

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!