目录
  • 包含
    • contains(s,substr string) bool
    • containsany(s, chars string) bool
  • 统计
    • count(s, substr string) int
  • 比较
    • equalfold(s, t string) bool
    • hasprefix(s, prefix string) bool
    • hassuffix(s, suffix string) bool
  • 分割
    • fields(s string) []string
  • 下标
    • index(s, sep string) int
    • func lastindex(s, sep string) int
    • func indexany(s, chars string) int
  • 拼接
    • func join(a []string, sep string) string
    • func repeat(s string, count int) string
  • 大小写
    • func toupper(s string) string
    • func tolower(s string) string
  • 去空格
    • func trim(s string, cutset string) string
    • func trimleft(s string, cutset string) string
    • func trimright(s string, cutset string) string

包含

contains(s,substr string) bool

判断s是否包含substr true:包含 false:不包含

例子:

  str := "hello word"
  fmt.println(strings.contains(str, "hello")) //true
  fmt.println(strings.contains(str, "我"))     //false
  fmt.println(strings.contains("", ""))       //true 这里要特别注意

containsany(s, chars string) bool

判断字s 中是否包含 chars 中的任何一个字符, true:包含 false:不包含

例子:

  str := "hello word"
  fmt.println(strings.containsany(str, "w"))   // true
  fmt.println(strings.containsany(str, ""))    // false
  fmt.println(strings.containsany(str, "def")) // true
  fmt.println(strings.containsany("", ""))     // false

统计

count(s, substr string) int

统计字符 substr 在字符串 s 总共出现的次数

例子:

  str := "hello word"
  fmt.println(strings.count(str, "l")) //2
  fmt.println(strings.count(str, " ")) //1
  fmt.println(strings.count(str, ""))  //11  每个字符串后面都有eof结束符

比较

equalfold(s, t string) bool

判断字符串 s 是否与字符串 t全部 相等,并且不区分大小写

例子:

  str := "hello word"
  fmt.println(strings.equalfold(str, "hello word")) //true
  fmt.println(strings.equalfold(str, "hello"))      //false
  fmt.println(strings.equalfold(str, "hello word")) //true

hasprefix(s, prefix string) bool

判断字符串 s 是否是以字符 prefix 开头,如果是返回 true 否则返回 false

例子:

  str := "hello word"
  fmt.println(strings.hasprefix(str, "hello"))  //true
  fmt.println(strings.hasprefix(str, "hellow")) //false

hassuffix(s, suffix string) bool

判断字符串 s 是否是以字符 suffix 结束,如果是返回 true 否则返回 false

例子:

  str := "hello word"
  fmt.println(strings.hassuffix(str, "word"))   //true
  fmt.println(strings.hassuffix(str, " word"))  //true
  fmt.println(strings.hassuffix(str, " word ")) //false

分割

fields(s string) []string

将字符串 s 以空格为分隔符拆分成若干个字符串,若成功则返回分割后的字符串切片,否则返回原字符串

例子:

  str := "hello word"
  fmt.println(strings.fields(str))
  fmt.println(strings.fields("helloword"))

下标

index(s, sep string) int

判断字符 sep 在字符串 s 中第一次出现的位置,如果成功则返回sep位置的索引,如果字符 sep 不在字符串 s 中则返回 -1

例子:

  str := "hello word"
  fmt.println(strings.index(str, "hello"))  //0
  fmt.println(strings.index(str, "word"))   //6
  fmt.println(strings.index(str, " word ")) //-1
  fmt.println(strings.index(str, ""))       //0
  fmt.println(strings.index(str, " "))      //5

func lastindex(s, sep string) int

返回子串 sep 在字符串 s 中最后一次出现的位置,如果找不到,则返回 -1,如果 sep 为空,则返回字符串的长度

例子:

  str := "hello word"
  fmt.println(strings.lastindex(str, "d"))      //9
  fmt.println(strings.lastindex(str, "l"))      //3
  fmt.println(strings.lastindex(str, " word ")) //-1

func indexany(s, chars string) int

返回字符串 chars 中的任何一个字符在字符串 s 中第一次出现的位置, 如果找不到,则返回 -1,如果 chars 为空,则返回 -1

例子:

  str := "hello word"
  fmt.println(strings.indexany(str, "helo")) //0
  fmt.println(strings.indexany(str, "ws")) //6

拼接

func join(a []string, sep string) string

join 将 a 中的子串连接成一个单独的字符串,子串之间用 sep 分隔

例子:

  fmt.println(strings.join([]string{"a", "b", "c"}, "-")) //a-b-c
  fmt.println(strings.join([]string{"a", "b", "c"}, "/")) //a/b/c

func repeat(s string, count int) string

将 count 个字符串 s 连接成一个新的字符串

例子:

  str := "hello word"
  fmt.println(strings.repeat(str, 2))

大小写

func toupper(s string) string

将 s 中的所有字符修改为其大写格式,对于非 ascii 字符,它的大写格式需要查表转换

例子:

  str := "hello word"
  fmt.println(strings.toupper(str))

func tolower(s string) string

将 s 中的所有字符修改为其小写格式,对于非 ascii 字符,它的小写格式需要查表转换

例子:

  str := "hello word"
  fmt.println(strings.tolower(str))

去空格

func trim(s string, cutset string) string

将删除 s 首尾连续的包含在 cutset 中的字符

例子:

  fmt.println(strings.trim(str, "hello")) // word
  str = "hello word hello"
  fmt.println(strings.trim(str, "hello")) // word

func trimleft(s string, cutset string) string

trimleft 将删除 s 头部连续的包含在 cutset 中的字符

例子:

  str = "hello word"
  fmt.println(strings.trimleft(str, "hello")) // word
  str = "hello word hello"
  fmt.println(strings.trimleft(str, "hello")) //word hello

func trimright(s string, cutset string) string

trimright 将删除 s 尾部连续的包含在 cutset 中的字符

例子:

  str = "hello word hello123"
  fmt.println(strings.trimright(str, "hello123")) //hello word
  fmt.println(strings.trimright(str, "123"))      //hello word hello

以上就是go语言字符串基础示例详解的详细内容,更多关于go语言字符串的资料请关注www.887551.com其它相关文章!