常用的字符串处理函数
(1) Contains
(2) Join
(3) Index
(4) Repeat
(5) Replace
(6) Split
(7) Trim
(8) Fields
字符串转换
(1) Format
(2) Parse
(3) Append
常用的字符串处理函数 (1) Containsfunc Contains(s, substr string) bool
功能:字符串s中是否包含substr,返回bool值
演示如下:
//查找一个字符串在另一个字符串中是否出现
str1 := "hello world"
str2 := "g"
//Contains(被查找的字符串,查找的字符串) 返回值 bool
//一般用于模糊查找
b := strings.Contains(str1,str2)
//fmt.Println(b)
if b {
fmt.Println("找到了")
}else {
fmt.Println("没有找到")
}
(2) Join
func Join(a []string, sep string) string
功能:字符串链接,把slicea通过sep链接起来
演示如下:
//字符串切片
slice := []string{"123","456","789"}
//fmt.Println(slice)
//Join
//字符串的连接
str := strings.Join(slice,"")
fmt.Println(str)
//fmt.Printf("%T\n",str)
结果如下:
123456789
(3) Index
func Index(s, substr string) int
功能:在字符串s中查找sep所在的位置,返回位置值,找不到返回-1
str1 := "hello world"
str2 := "e"
//查找一个字符串在另一个字符串中第一次出现的位置 返回值 int 下标 -1 找不到
i := strings.Index(str1,str2)
fmt.Println(i)
结果如下:
(4) Repeat1
func Repeat(s string, count int) string
功能:重复s字符串count次,最后返回重复的字符串
演示如下:
str := "性感网友,在线取名。"
//将一个字符串重复n次
str1 := strings.Repeat(str,100)
fmt.Println(str1)
(5) Replace
func Replace(s, old, new string, n int) string
功能:在s字符串中,把old字符串替换为new字符串,n表示替换的次数,小于0表示全部替换
str := "性感网友在线取名性感性感性感性感性感"
//字符串替换 屏蔽敏感词汇
//如果替换次数小于0 表示全部替换
str1 := strings.Replace(str,"性感","**",-1)
fmt.Println(str1)
结果如下:
(6) Split**网友在线取名**********
func Split(s, sep string) []string
功能:把s字符串按照sep分割,返回slice
//将一个字符串按照标志位进行切割变成切片
str1 := "123456789@qq.com"
slice := strings.Split(str1,"@")
fmt.Println(slice[0])
结果如下:
(7) Trim123456789
func Trim(s string, cutset string) string
功能:在s字符串的头部和尾部去除cutset指定的字符串
str := "====a===u=ok===="
//去掉字符串头尾的内容
str1:= strings.Trim(str,"=")
fmt.Println(str1)
结果如下:
(8) Fieldsa===u=ok
func Fields(s string) []string
功能:去除s字符串的空格符,并且按照空格分割返回slice
str := " are you ok "
//去除字符串中空格 转成切片 一般用于统计单词个数
slice := strings.Fields(str)
fmt.Println(slice)
字符串转换
通过以上的讲解,发现字符串的处理是非常重要的,GO语言也提供了字符串与其它类型之间相互转换的函数。相应的字符串转换函数都在”strconv”包。
(1) FormatFormat 系列函数把其他类型的转换为字符串。
//将其他类型转成字符串 Format
b := false
str := strconv.FormatBool(true)
fmt.Println(str)
fmt.Printf("%T\n",str)
str := strconv.FormatInt(120,10) //计算机中进制 可以表示2-36 2 8 10 16
fmt.Println(str)
// 'f'打印方式 以小数方式 4 指小数位数 64 以float64处理
str:= strconv.FormatFloat(3.14159,'f',4,64)
fmt.Println(str)
str := strconv.Itoa(123)
fmt.Println(str)
(2) Parse
Parse 系列函数把字符串转换为其他类型
//字符串转成其他类型 Parse
b,err := strconv.ParseBool("true")
if err!=nil {
fmt.Println("类型转换出错")
}else {
fmt.Println(b)
fmt.Printf("%T\n",b)
}
v,err := strconv.ParseInt("abc",16,64)
fmt.Println(v,err)
v,_ := strconv.ParseFloat("3.14159",64)
fmt.Println(v)
v,_:=strconv.Atoi("123")
fmt.Println(v)
(3) Append
Append 系列函数将整数等转换为字符串后,添加到现有的字节数组中。
slice := make([]byte,0,1024)
//将其他类型转成字符串 添加到字符切片里
slice = strconv.AppendBool(slice,false)
slice = strconv.AppendInt(slice,123,2)
slice = strconv.AppendFloat(slice,3.14159,'f',4,64)
slice = strconv.AppendQuote(slice,"hello")
fmt.Println(string(slice))
对应的结果是:
false11110113.1416"hello"
以上就是GO语言字符串处理Strings包的函数使用示例讲解的详细内容,更多关于GO语言字符串处理Strings包函数的资料请关注易知道(ezd.cc)其它相关文章!