golang -strings库笔记

来源:互联网 发布:网络购物合同纠纷 编辑:程序博客网 时间:2024/06/04 18:59

strings

  1. strings.EqualFold(s,t string)bool -> 判断两个utf-8字符串(不分大小写、标题)是否相同
  2. strings.HasPrefix(s,prefix string)bool -> 类似于Python里面的startswith(),判断一个字符串是否以某字符开头
  3. strings.HasSuffix(s,suffix string)bool -> 类似于Python里面的endswith(),判断一个字符串是否以某字符结尾
  4. strings.Contains(s,substr string)bool -> 类似于Python里面的in操作符,判断一个字符串是否包含另一个字符串
  5. strings.ContainsRune(s string,r rune)bool -> 判断字符串s是否包含utf-8码值r
  6. strings.ContainsAny(s,char string)bool -> 判断字符串s是否包含chars中的任一字符
  7. strings.Count(s,sep string)int -> 返回字符串s中有几个不重复的sep子串。相当于Python里面的str.count()
  8. strings.Index(s,sep string)int -> 子串sep在s中第一次出现的位置,同Python的str.index()
  9. strings.IndexByte(s string,c byte)int -> 字符串c在s中第一次出现的位置,不存在则返回-1
  10. strings.IndexRune(s string,r rune)int -> unicode码值r在s中第一次出现的位置,不存在则返回-1
  11. strings.IndexAny(s,chars string)int -> chars中的任一utf-8码在s中第一次出现的位置,如果不存在或chars为空字符串则返回-1
  12. strings.IndexFunc(s string,f func(rune)bool)int -> s中第一个满足函数f的位置i(该处的utf-8码值满足f(r)==true),不存在则返回-1
  13. strings.LastIndex(s,sep string)int -> 子串sep在字符串s中最后一次出现的位置,不存在则返回-1
  14. strings.LastIndexAny(s ,chars string)int -> 字符串chars中的任一utf-8码值在s中最后一次出现的位置,若不存在或chars为空字符串则返回-1
  15. strings.LastIndexFunc(s string,f func(rune)bool) int -> s中最后一个满足函数的unicode码值的位置i,不存在则返回-1
  16. strings.Title(s string)string -> s中每个单词的首字母都改为标题格式的字符串拷贝 hello world -> Hello World
  17. strings.ToLower(s string)string -> 返回将所有字母都转为对应的小写版本的拷贝
  18. strings.Repeat(s string,count int)string -> 返回count个s串联的字符串 Repeat(“s”,3)->sss
  19. strings.Replace(s, old,new string,n int)string -> 替换,如果n<0,则替换所有old字符串
  20. strings.Trim(s string,cutset string)string -> 返回trim之后的字符串
  21. strings.TrimSpace(s string)string -> 返回将s前后端所有空白(unicode.IsSpace指定)都去掉的字符串
  22. strings.TrimFunc(s string,f func(rune)bool)string -> 返回将s前后端所有满足f的unicode码值都去掉的字符串
  23. strings.TrimLeft(s string,cutset string)string -> trim前面
  24. strings.TrimLeftFunc(s string,f func(rune)bool)string -> 返回将s前面所有满足f的unicode码值都去掉的字符串
  25. strings.TrimPrefix(s,prefix string)string -> 返回去除s可能的前缀prefix的字符串(如果有的话)
  26. strings.TrimRight(s string,cutset string)string -> trim后面
  27. strings.TrimRightFunc(s string,f func(rune)bool)string -> 返回将s后面所有满足的unicode码值都去掉的字符串
  28. strings.TrimSuffix(s,suffix string)string -> 返回去除掉s可能的后缀suffix的字符串
  29. strings.Fields(s string)[]string -> 返回按照空白(unicode.IsSpace指定,可以是一到多个连续的空白字符)分割的多个字符串。如果字符串全是空白或者是空字符串的话,会返回空切片
  30. strings.FieldsFunc(s string,f func(rune)bool)[]string -> 类似Fields,但使用函数f来确定分割符(满足f的unicode码值)。如果空,同上。
  31. strings.Split(s,sep string)[]string -> 类似Python里面的str.split(),如果sep为空字符串,会将s切分成每一个unicode码值一个字符串。 hello -> [h,e,l,l,o]
  32. strings.SplitN(s ,sep string,n int)[]string -> 用去掉s中出现的sep的方法进行分割,会分割到结尾,并返回生成的片段组成的切片(暂时不清楚,用的时候再看)
  33. strings.SplitAfter(s,sep string)[]string -> woshiyigezhongguorenwoaibeijingtiananmen ->[woshi yi gezhongguorenwoai bei ji ngti ananmen]
  34. strings.SplitAfterN(s,sep string,n int)[]string -> 暂时不清楚
  35. strings.Join(a []string,sep string)string -> 将一系列字符串连接起来,用sep分隔

  36. strings.NewReader(s string)*Reader -> 创建一个从s读取数据的Reader。本函数类似bytes.NewBufferString,但更有效率,且为只读

下面这部分待去读完io库之后再继续记,现在不清楚概念

类型

  • type Reader
type Reader struct{}//Reader类型通过从一个字符串读取数据,实现了io.Reader,io.Seeker,io.ReaderAt,io.WriterTo,io.ByteScanner,io.RunScanner接口
  1. func(*Reader)Len() int -> 返回r包含的字符串中还没有被读取的部分
  2. func(*Reader)Read(b []byte)(n int,err error)
    • Replacer