这篇主要介绍一下strings包中常用的一些函数,没有什么个人观点,主要作为个人总结记录
子串
判断是否存在某个字串或字符
//若子串subxtr在s中,返回true
func Contains(s,substr string) bool
//chars中任何一个Unicode代码点在s中,返回true
func ContainsAny(s,chars string) bool
//Unicode代码点r在s中,返回true
func Containsrune(s string,r rune) bool
字符或子串在字符串中出现的位置
// 返回sep第一次在s中出现的位置,不存在返回-1
func Index(s,sep string) int
//chars中任何一个Unicode代码点在s中首次出现的位置,不存在返回-1
func IndexAny(s ,chars string)int
//查找字符 c 在 s 中第一次出现的位置,其中 c 满足 f© 返回 true
func IndexFunc(s string f func(rune)bool) int
// //查找最后一次出现的位置
func LastIndex(s,sep string) int
func LastIndexAny(s ,chars string)int
func LastIndexFunc(s string f func(rune)bool) int
子串出现的次数
func Count(s ,sep string) int
当sep为空时,Count的返回值是utf8.RuneCountInString(s) + 1;Count是计算子串在字符串中出现的五重叠的次数
字符串中是否包含某个前缀或后缀
func HasPrefix(s,prefix string) bool
//前缀
func HasSuffix(s,suffix string) bool
//后缀
字符串转换
func ToUpper(s string) string //转大写
func ToLower(s string) string//转小写
比较
func Compare(a,b string) int//不相等返回-1,相等返回0
func EqualFold(s ,t string)bool
清理
func Trim(s string,cutset string)string//去除字符传s中的头尾cutset字符串
func TrimLeft(s string,cutset string)string
func TrimRight(s string,cutset string)string
func TrimFunc(s string, f func(rune) bool) string //函数 ,去除符合f函数的字符串
func TrimLeftFunc(s string, f func(rune) bool) string
func TrimRightFunc(s string, f func(rune) bool) string
func TrimSpace(s string) string //字符串前后空格 fmt.Println(strings.TrimSpace(" \t\n a lone gopher \n\t\r\n")) 输出:a lone gopher
func TrimPrefix(s, prefix string) string
func TrimSuffix(s, suffix string) string
拆合函数
Fields
func Fields(s string) []string
func FieldsFunc(s string,f func(rune) bool) []string
// Fields用一个或多个连续的空格分割字符串
Split
func Split(s, sep string) []string { return genSplit(s, sep, 0, -1) }
func SplitAfter(s, sep string) []string { return genSplit(s, sep, len(sep), -1) }
分割字符串,用sep分割s,她们两个的区别就是,Split不包含sep,SplitAfter包含sep,放在每一个的后面
Join
func Join(a []string,sep string) string
将一个切片按照sep合成一个字符串
字符串重复次数
func Repeat(s string,count int) string
//返回count个s重复合成的字符串
替换
func Replace(s,old,new string,n int) string
//用newdaitis中的old。一共替换n次,如果==-1,即全部替换