1.字符串查找
strings
是Go内置的标准包,主要用于字符串查找、替换、比较等。常用方法如下:
1.1 方法列表
方法名 | 描述 |
---|---|
Count(s, substr string)int |
返回字符串s包含字符串substr的个数 |
Contains(s, substr string)bool |
判断字符串s是否包含substr字符串 |
ContainsAny(s, chars string)bool |
判断字符串s是否包含chars字符串中的任意一个字符 |
ContainsRune(s string, r rune)bool |
判断字符串s是否包含unicode的码值r |
LastIndex(s, substr string)int |
返回字符串s中字符串substr最后一次出现的位置 |
Index(s, substr string)int |
返回字符串s中字符串substr首次出现的位置 |
IndexByte(s string, c byte)int |
返回字符串s中字符c首次出现的位置 |
IndexRune(s string, r rune)int |
返回unicode的码值r在字符串s中首次出现的位置 |
IndexAny(s, chars string)int |
返回字符串chars中的任意一个字符unicode码值, 在s中首次出现的位置 |
LastIndexAny(s, chars string)int |
返回字符串chars中的任意一个字符unicode码值, 在s中最后一次出现的位置 |
LastIndexByte(s string, c byte)int |
返回字符串s中字符c最后一次出现的位置 |
HasPrefix(s, prefix string)bool |
判断字符串s是否有前缀prefix |
HasSuffix(s, suffix string)bool |
判断字符串s是否有后缀suffix |
IndexFunc(s string, f func(r)bool)int |
返回字符串s中满足函数f(r)==true, 字符首次出现的位置 |
LastIndexFunc(s string, f func(r)bool)int |
返回字符串s中满足函数f(r)==true , 字符最后一次出现的位置 |
1.2 使用示例
|
2. 字符串分割
2.1 方法列表
方法名 | 描述 |
---|---|
Fields(s string)[]string |
将字符串s以空白字符分割,返回切片 |
FieldsFunc(s string, f func(r) bool)[]string |
将字符串s以满足f(r)==true 的字符分割,分割后返回切片 |
Split(s,sep string)[]string |
将字符串s以sep作为分割符进行分割, 分割后字符最后去掉sep,返回切片 |
SplitAfter(s,sep string)[]string |
将字符串s以sep作为分割符进行分割, 分割后字符最后加上sep,返回切片 |
SplitAfterN(s,sep string, n int)[]string |
将字符串s以sep作为分割符进行分割, 分割后字符最后加上sep,n决定分割成切片长度 |
SplitN(s,sep string, n int)[]string |
将字符串s以sep作为分割符进行分割, 分割后字符最后去掉sep,n决定分割成切片长度 |
2.2 使用示例
|
3.大小写切换
3.1 方法列表
方法名 | 描述 |
---|---|
Title(s string)string |
将字符串s每个单词首字母大写 |
ToLower(s string)string |
将字符串s转换成小写返回 |
ToLowerSpecial(c unicode.SpecialCase,s string)string |
将字符串s中所有字符串按c指定的 映射转换成小写返回 |
ToTitle(s string)string |
将字符串s转换成大写返回 |
ToTitleSpecial(c unicode.SpecialCase,s string) string |
将字符串s中所有的字符按c指定的 映射转换成大写返回 |
ToUpper(s string)string |
将字符串s转换成大写返回 |
ToUpperSpecial(c unicode.SpecialCase,s string) string |
将字符串s中所有的字符按c指定的 映射转换成大写返回 |
3.2 使用示例
|
3.3 ToTitle和ToUpper的区别
大部分情况下, ToUpper
与 ToTitle
返回值相同,但在处理某些unicode
编码字符则不同,示例如下:
|
4.字符串删除
4.1 方法列表
方法名 | 描述 |
---|---|
Trim(s,cutset string)string |
将字符串s 首尾包含在cutset 中的任一字符去掉 |
TrimFunc(s string,f func(r)bool)string |
将字符串s 首尾满足函数f(r)==true 的字符串去掉 |
TrimLeft(s,cutset string)string |
将字符串s 左边包含在cutset 中的任一字符去掉 |
TrimLeftFunc(s string,f func(r)bool) string |
将字符串s 左边满足函数f(r)==true 的字符串去掉 |
TrimPrefix(s,prefix string)string |
将字符串s 中前缀字符串prefix 去掉 |
TrimRight(s,cutset string) string |
将字符串s 右边包含在cutset 中的任一字符去掉 |
TrimRightFunc(s string, f func(r) bool) string |
将字符串s 右边满足函数f(r)==true 的字符串去掉 |
TrimSpace(s string) string |
将字符串首尾空白去掉 |
TrimSuffix(s, suffix string) string |
将字符串s 中后缀字符串suffix 去掉 |
4.2 使用示例
|
5.拼接和重复
5.1 方法列表
方法名 | 描述 |
---|---|
Join(elems []string, sep string) string |
将字符串切片elems,使用sep进行拼接 |
Repeat(s string, count int) string |
将字符串s,重复count次 |
5.3 使用示例
|
6.字符串替换
6.1 方法列表
方法名 | 描述 |
---|---|
Replace(s, old, new string, n int)string |
将字符串s前n个不重叠old子串都替换为new的新字符串 如果n<0会替换所有old子串。 |
ReplaceAll(s, old, new string) string |
将字符串s中的old子串全部替换为new的新字符串 |
6.2 使用示例
|
7.字符串比较
7.1 方法列表
方法名 | 描述 |
---|---|
Compare(a, b string) int |
按字典顺序比较a和b字符串的大小 如果 a > b,返回一个大于 0 的数 如果 a == b,返回 0 如果 a < b,返回一个小于 0 的数 |
EqualFold(s, t string) bool |
判断s和t两个UTF-8字符串是否相等,忽略大小写 |
7.1 使用示例
|