首页 > Go学习 > Go语言中的strings包
2021
09-11

Go语言中的strings包

strings包实现了用于操作字符的简单函数

判断相同

EqualFold(s, t string) bool :判断两个字符串是否相同(不区分大小写)

字符串连接

Join(a []string, sep string) string :将一系列字符串连接为一个字符串,之间用sep来分隔
Repeat(s string, count int) string :返回s重复count次的字符串

字符串查找函数:

HasPrefix(s, prefix string) bool :判断字符串s是否以prefix开始
HasSuffix(s, suffix string) bool :判断字符串s是否以suffix结尾
Contains(s, substr string) bool :判断字符串s是否包含子串substr
ContainsRune(s string, r rune) bool :判断字符串s是否包含utf-8码值r
ContainsAny(s, chars string) bool :判断字符串s是否包含字符串chars中的任一字符
Count(s, sep string) int :返回字符串s中有几个不重复的sep子串
Index(s, sep string) int :子串sep在字符串s中第一次出现的索引位置,不存在则返回-1
LastIndex(s, sep string) int :子串sep在字符串s中最后一次出现的位置,不存在则返回-1
IndexByte(s string, c byte) int :字符c在s中第一次出现的索引位置,不存在则返回-1
IndexRune(s string, r rune) int :unicode码值r在s中第一次出现的位置,不存在则返回-1
IndexAny(s, chars string) int :字符串chars中的任一utf-8码值在s中第一次出现的位置,如果不存在或者chars为空字符串则返回-1
LastIndexAny(s, chars string) int :字符串chars中的任一utf-8码值在s中最后一次出现的位置
IndexFunc(s string, f func(rune) bool) int :s中第一个utf-8码值r满足f(r)==true的索引位置,不存在则返回-1
LastIndexFunc(s string, f func(rune) bool) int :s中最后一个满足函数f的unicode码值的位置i,不存在则返回-1

大小写转换

Title(s string) string :返回s中每个单词的首字母都改为标题格式的字符串拷贝
    Title用于划分单词的规则不能很好的处理Unicode标点符号
ToLower(s string) string :将所有字母都转为小写
ToUpper(s string) string :将所有字母都转为大写
ToTitle(s string) string :将所有字母都转为对应的标题版本

字符串替换:

Replace(s, old, new string, n int) string :替换字符串中的不重复old字符串为new字符串
    n表示替换次数,n<0会替换所有old子串
Map(mapping func(rune) rune, s string) string :
    将s的每一个unicode码值r都替换为mapping(r)
    并返回这些新码值组成的字符串拷贝
    如果mapping返回一个负值,返回字符串对应位置为空

去除前后字符

Trim(s string, cutset string) string :返回将s前后端所有cutset包含的utf-8码值都去掉的字符串
TrimSpace(s string) string :返回将s前后端所有空白字符都去掉的字符串
TrimFunc(s string, f func(rune) bool) string :返回将s前后端所有满足f的unicode码值都去掉的字符串
TrimLeft(s string, cutset string) string :返回将s前端所有cutset包含的utf-8码值都去掉的字符串
TrimLeftFunc(s string, f func(rune) bool) string :返回将s前端所有满足f的unicode码值都去掉的字符串
TrimPrefix(s, prefix string) string :返回去除s的前缀prefix的字符串
TrimRight(s string, cutset string) string :返回将s后端所有cutset包含的utf-8码值都去掉的字符串
TrimRightFunc(s string, f func(rune) bool) string :返回将s后端所有满足f的unicode码值都去掉的字符串
TrimSuffix(s, suffix string) string :返回去除s的后缀suffix的字符串

字符串分隔

Fields(s string) []string :返回将字符串按照空白字符(多个连续空白按一个空白处理)分割的多个字符串切片
FieldsFunc(s string, f func(rune) bool) []string :使用函数f来确定分割符并分隔字符串为切片
Split(s, sep string) []string :返回使用字符串sep分割字符串s的切片,如果sep为空字符,会将s切分单个字符组成的切片
SplitN(s, sep string, n int) []string :同Split,n指定最多分隔多少次
    n == 0返回nil     n < 0返回单个字符组成的切片
SplitAfter(s, sep string) []string :用从s中出现的sep后面分隔字符串。如果sep为空字符,会将s切分单个字符组成的切片
    如打印string.SplitAfter("123456","4")会输出[1234 56]
SplitAfterN(s, sep string, n int) []string :同SplitAfter,n指定最多分隔多少次
最后编辑:
作者:qingheluo
这个作者貌似有点懒,什么都没有留下。

留下一个回复

你的email不会被公开。