Golang字符串操作汇总

字符串操作(strings和strconv包)

  1. 判断是否以prefix开头

strings.HasPrefix(s, prefix string) bool

  1. 判断是否以suffix结尾

strings.HasSuffix(s, suffix string) bool

  1. 判断包含关系

strings.Contains(s, substr string) bool

  1. 判断str在s中的索引,s第一个字符,-1表示s不包含str

strings.Index(s, str string) int

  1. 判断str在s中最后一个字符的索引,-1表示不包含

strings.LastIndex(s, str string) int

var str string = "HiHi"
fmt.Printf(strings.Index(str, "Hi")) //0
fmt.Printf(strings.LastIndex(str, "Hi")) //2
  1. 查询非ASCII编码的字符在符字符串中的位置

strings.IndexRune(s string, r rune) int

  1. 字符串替换,将str中前n个字符串old替换成new,并返回一个新的字符串,如果n=-1则替换所有字符串old为新字符串new

strings.Replace(str, old, new, n) string

  1. 统计s中str出现的非重叠次数:

strings.Count(s, str string) int

var s = "gggg"
fmt.Printf(strings.Count(s, "gg")) // 2
  1. 重复字符串,重复count次字符串s并返回一个新的字符串:

strings.Repeat(s, count int) string

  1. 将s中的Unicode字符全部转换为相应的小写字符

strings.ToLower(s) string

  1. 全部转换为大写字符

strings.ToUpper(s) string

  1. 删除字符串s开头和结尾的空白符号

strings.TrimSpace(s)

  1. 删除开头和结尾指定字符str

strings.Trim(s, str string)
类似的,TrimLeft, TrimRight

  1. 分割字符串,利用1个或多个空白符号作为动态长度的分隔符将字符串分成若干小块,返回一个slice,如果质保函空白符号,则返回一个长度为0的slice

strings.Fields(s) []string

  1. 利用sep分割字符串,返回slice(习惯用for-range循环对其处理)

strings.Split(s, sep) []string

  1. 将string的sl使用分隔符号组成一个字符串

strings.Join(sl []string, sep string) string

  1. 生成一个Reader并读取字符串中的内容,返回指向该Reader的指针

strings.NewReader(str)
相似的,Read() 从[]byte中读取内容
ReadByte(),ReadRune()从字符串中读取下一个byte或者rune

  1. 获取操作系统平台下int类型所占的位数

strconv.IntSize int

  1. 数字转换字符串

strconv.Itoa(i int) string 返回数字 i 所表示的字符串类型的十进制数。
strconv.FormatFloat(f float64, fmt byte, prec int, bitSize int) string 将 64 位浮点型的数字转换为字符串,其中 fmt 表示格式(其值可以是 ‘b’、‘e’、‘f’ 或 ‘g’),prec 表示精度,bitSize 则使用 32 表示 float32,用 64 表示 float64。

  1. 字符串类型转换为数字类型

strconv.Atoi(s string) (i int, err error) 将字符串转换为 int 型。
strconv.ParseFloat(s string, bitSize int) (f float64, err error) 将字符串转换为 float64 型。
利用多返回值的特性,这些函数会返回 2 个值,第 1 个是转换后的结果(如果转换成功),第 2 个是可能出现的错误,因此,我们一般使用以下形式来进行从字符串到其它类型的转换:
val, err = strconv.Atoi(s)

参考:《Go入门指南》github电子书

如果感觉对你有所帮助,不妨点个赞,关注一波,激励博主持续更新!

你可能感兴趣的:(Go,字符串,go,golang)