Golang手撕笔记
字符串操作
由于字符串是不可变的,所以结果一般返回新字符串
strings.TrimSpcace(s string) string去除字符串
s的首尾空白字符(空格 / 换行符 / 制表符 / 回车)strings.Trim(s string, cutset string) string去除字符串
s中cutset里含有的字符,注意cutset字符串要看作一个字符集合,而不是一个整体1
2
3s := "abbaccahello"
str := strings.Trim(s, "abc")
fmt.Println(str) // 输出 hellostrings.TrimLeft(s string, cutset string) string和strings.TrimRight(s string, cutset string) string这两个和
Trim()类似,但仅分别删除字符串s左侧 / 右侧中cutset里含有的字符1
2
3
4
5s := "abbaccahelloaacccbb"
str1 := strings.TrimLeft(s, "abc")
fmt.Println(str1) // 输出 helloaacccbb
str2 := strings.TrimRight(s, "abc")
fmt.Println(str2) // 输出 abbaccahellostrings.TrimPrefix(s string, prefix string) string和strings.TrimSuffix(s string, suffix string) string这两个与上面不同,
prefix和suffix需看作一个字符串整体,只会匹配并去除整体的前缀 / 后缀1
2
3
4
5s := "abchellocba"
str1 := strings.TrimPrefix(s, "abc")
fmt.Println(str1) // hellocba
str2 := strings.TrimSuffix(s, "cba")
fmt.Println(str2) // abchellostrings.Fileds(s string) []string按空白字符切分字符串,他会去掉首尾空白,把字符串中间的一个或连续多个空白当作一个分隔符,返回切分后的字符串切片
strings.Split(s string, sep string) []string会按照你给定的
sep整体作为分隔符,返回切分后的字符串切片;不会合并连续空格,也不会自动去除首尾空格strings.Join(elems []string, sep string) string将字符串切片按照你指定的分隔符拼接起来,与
Fields()一起使用可以达到合并连续空白字符并去除首尾空白字符的效果strings.Contains(s string, substr string) bool判断是否包含子串
strings.HasPrefix(s string, prefix string) bool和strings.HasSuffix(s string, suffix string) bool判断是否有前缀 / 后缀
strings.Index(s string, substr string) int判断匹配的子串首次出现的索引位置(子串的第一个字符在
s中的索引),匹配不到返回-1strings.ReplaceAll(s string, old string, new string) string匹配
s字符串中的所有子串old并替换为new,即替换所有匹配的子串strconv.Itoa(num int) string:数字转字符串strconv.Atoi(s string) (int, error):字符串转数字,字符串可能不是数字,所以有error
说些什么吧!