Golang 字符串常用操作
获取字符串长度:len(str)
12 str := "hello"fmt.Println("字符串长度为:", len(str)) // 5拼接字符串:使用 + 或 fmt.Sprintf
123456789 str1 := "hello"str2 := "world"// 方法一str3 := str1 + str2fmt.Println(str3) // helloworld// 方法二str4 := fmt.Sprintf("%s%s", str1, str2)fmt.Println(str4) // helloworld
strings 是 Golang 官方包,实现了一些用于操作字符串的简单函数,代码示例如下:
字符串分割:strings.Split(s, sep string) []string
123 str := "hello world"strArr := strings.Split(str, " ") // 以空格为分隔符,分割字符串fmt.Println(strArr) // [hello world]字符串连接:strings.Join(a []string, sep string) string
12345 strArr := []string{"hello", "world",}str := strings.Join(strArr, "-") // 以短横线-进行连接fmt.Println(str) // hello-world判断字符串中是否包含:strings.Contains(s, substr string) bool
12345 str := "hello"isContain := strings.Contains(str, "e")fmt.Println(isContain) // trueisContain = strings.Contains(str, "m")fmt.Println(isContain) // false前缀判断( 以 ... 开头 ):strings.HasPrefix(s, prefix string) bool
12345 str := "hello"isPrefix := strings.HasPrefix(str, "hel")fmt.Println(isPrefix) // trueisPrefix = strings.HasPrefix(str, "wo")fmt.Println(isPrefix) // false后缀判断( 以 ... 结尾 ):strings.HasSuffix(s, suffix string) bool
12345 str := "hello"isSuffix := strings.HasSuffix(str, "lo")fmt.Println(isSuffix) // trueisSuffix = strings.HasSuffix(str, "ld")fmt.Println(isSuffix) // false定位( 返回子字符串的索引 ):strings.Index(s, substr string) int,strings.LastIndex(s, substr string) int
12345 str := "helloworld"num1 := strings.Index(str, "l") // 第一个匹配索引fmt.Println(num1) // 2num2 := strings.LastIndex(str, "l") // 最后一个匹配索引fmt.Println(num2) // 8统计( 字符串中,子字符串出现的次数 ):strings.Count(s, substr string) int
12345 str := "helloworld"num1 := strings.Count(str, "ow")fmt.Println(num1) // 1num2 := strings.Count(str, "l")fmt.Println(num2) // 3大小写转换:strings.ToUpper(s string) string,strings.ToLower(s string) string
123 str := "helloWorld"fmt.Println(strings.ToLower(str)) // helloworldfmt.Println(strings.ToUpper(str)) // HELLOWORLD替换:strings.Replace(s, old, new string, n int) string
1234 // 参数说明:s 表示字符串,old 想要替换的字符,new 替换后的字符,n 替换数量str := "helloworld"strNew := strings.Replace(str, "l", "t", 2) // 将str中的前两个l替换为tfmt.Println(strNew) // hettoworld