目录
包含Contains(s,substr string) boolContainsAny(s, chars string) bool统计Count(s, substr string) int比较EqualFold(s, t string) boolHasPrefix(s, prefix string) boolHasSuffix(s, suffix string) bool分割Fields(s string) []string下标Index(s, sep string) intfunc LastIndex(s, sep string) intfunc IndexAny(s, chars string) int拼接func Join(a []string, sep string) stringfunc Repeat(s string, count int) string大小写func ToUpper(s string) stringfunc ToLower(s string) string去空格func Trim(s string, cutset string) stringfunc TrimLeft(s string, cutset string) stringfunc 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语言字符串的资料请关注易采站长站其它相关文章!










