Go语言:统计字符串相关的函数
统计字符串相关的函数:
(1)统计字符串的长度,按字节进行统计(注意:UTF-8编码是Go语言默认的字符编码,汉字通常占用3个字节。)
len(str)
备注:因为len是Go语言的内置函数,所以不需要导包,直接使用就可以了。
(2) 字符串遍历
方式一:利用键值循环:for-range
for i, value := range str{
fmt.Println("索引为:%d, 具体的值为: %c \n", i, value)
}
方式2:利用r:=[]rune(str)
r:= []rune(str)
for i:=0; i<len(r); i++{
fmt.Printf("%c \n", r[i])
}
(3) 字符串转整数
n, err:= strconv.Atoi(“777”)
(4)整数转字符串
str = strconv.Itoa(789)
(5) 查找子字符串是否在指定的字符串中(区分大小写)
strings.Contains("javaandgolang","go")
(6)统计一个字符串中有几个指定的字串(区分大小写)
count := strings.Count("javaandGolang","go")
fmt.Println(count)
(7) 不区分大小写的字符串比较
b2 := strings.EqualFold("Go","go")
fmt.Println(b2)
(8)返回字串在字符串中第一次出现的索引位置值(下标),如果没有返回-1(区分大小写)
firstNum := strings.Index("javaandGolang","Go")
fmt.Println(firstNum)
(9)字符串的替换:最后一个参数n表示替换的个数(从左向右开始替换),如果n为-1,表示替换的是所有。
replaceStr := strings.Replace("goandjavaandpothygo","go","goland",n)
fmt.Println(replaceStr)
(10)字符串分割:根据某个指定的字符,对字符串进行分割,拆分后成为了符串数组
arr := strings.Split("go-python-java-c-c#","-")
fmt.Println(arr)
fmt.Println(len(arr))
(11)对字符串的字符进行大写或小写的转换:
// 字符串的字母全部转换为小写
lower := strings.ToLower("GoPythonGO")
fmt.Println(lower)
// 字符串的字母全部转换为大写
upper := strings.ToUpper("GoPythonGO")
fmt.Println(upper)
(12)将字符串左右两边的空格去掉:
space := strings.TrimSpace(" go and java and c ")
fmt.Println(space)
(13)将字符串左右两边指定的字符去掉:
trim := strings.Trim("~go and java and c#~","~")
fmt.Println(trim)
(14) 将字符串左边指定的字符去掉:
left := strings.TrimLeft("~goland~","~")
fmt.Println(left)
(15)将字符串右边指定的字符去掉:
right := strings.TrimRight("~goland~","~")
fmt.Println(right)
(16)判断字符串是否以指定的字符串开头:
prefix := strings.HasPrefix("https://www.szlib.org.cn/","https://")
fmt.Println(prefix)
(17)判断字符串是否以指定的字符串结束:
suffix := strings.HasSuffix("https://www.szlib.org.cn/","org.cN/")
fmt.Println(suffix)