字符串常用的系统函数
统计字符串的长度
按字节统计字符串的长度
Name := "Hello北京"
len(Name) //5 + 3*2 = 11
字符串遍历
处理有中文的问题
r:=[]rune(str)
字符串转整数
n,err :=strconv.Atoi("123")
if err!= nil {
fmt.Println("转换错误",err)
}else{
fmt.Println("转成的结果是",n)
}
整数转字符串
str := strconv.Itoa(12345)
字符串转[]byte
var bytes = []byte("hello go")
[]byte 转字符串
str = string([]byte{97,98,99})
10进制转换
// 将123转化为2进制,返回值为string
str = strconv.FormatInt(123,2)
查找子串是否在指定的字符串中
strings.Contains("seafood","foo")
// true
统计一个字符串有几个指定的子串
strings.Count("ceheese","e")
// 4
不区分大小写的字符串比较
== 是区分字符大小写的
strings.EqualFold("abc","Abc")
// true
返回子串在字符串第一次出现的位置
strings.Index("NLT_abc","abc")
// 4
返回子串在字符串最后一次出现的位置
strings.LastIndex("go golang","go")
// 3
将指定的子串替换成另一个子串
strings.Replace("go go hello","go","北京",-1)
// 北京 北京 hello
// -1 表示全部替换
// 原字符串没有发生变化,只是返回变化后的字符串
按照指定的某个字符,为分割标识
strings.Split("hello,world,ok",",")
// 分割结果为一个字符串数组
将字符串的字母进行大小写的转换
strings.ToUpper("goLang Hello")
// GOLANG HELLO
strings.ToLower("goLang Hello")
// golang hello
将字符串左右两边的空格去掉
strings.TrimSpace(" hello world ")
// "hello world"
将字符串左右指定的字符去掉
strings.Trim("! hello! "," !")
// 将左右的" "和"!"去掉
// "hello"
strings.TrimLeft("! hello! "," !")
// 将左边的" "和"!"去掉
// "hello! "
strings.TrimRight("! hello! "," !")
// 将右边的" "和"!"去掉
// "! hello"
判断字符串是否以指定的字符串开头
strings.HasPrefix("ftp://192.168.10.1","hsp")
// false
判断字符串是否以指定的字符串结束
strings.HasSuffix("NLT_abc.jpg","abc")
// false