Go:字符串操作
发布时间:2020-12-16 09:27:00 所属栏目:大数据 来源:网络整理
导读:Package strings:https://golang.google.cn/pkg/strings/ package main import ( " fmt " " strconv " " strings " ) // 字符串反转 func ReverseStr(str string) string { var result string strLen : = len(str) for i := 0; i strLen; i++ { result = re
Package strings:https://golang.google.cn/pkg/strings/ package main import ( "fmt" "strconv" "strings" ) // 字符串反转 func ReverseStr(str string) string { var result string strLen := len(str) for i := 0; i < strLen; i++ { result = result + fmt.Sprintf("%c",str[strLen-i-1]) } return result } func main() { var str1 = "Hello World" // 测量字符串长度 result1 := len(str1) fmt.Println(result1) // 11 // 字符串反转 fmt.Println(ReverseStr(str1)) // dlroW olleH // 判断字符串s是否以prefix开头 // func HasPrefix(s,prefix string) bool fmt.Println(strings.HasPrefix(str1,"H")) // true // 判断字符串s是否以suffix结尾 // func HasSuffix(s,suffix string) bool fmt.Println(strings.HasSuffix(str1,"ld")) // true // 返回字符串在s中第一个substr实例的索引,如果s中不存在substr,则返回-1 // func Index(s,substr string) int fmt.Println(strings.Index("chicken","en")) // 5 fmt.Println(strings.Index("chicken","gg")) // -1 // 返回字符串在s中最后一个substr实例的索引,如果s中不存在substr,则返回-1 //func LastIndex(s,substr string) int fmt.Println(strings.Index("go gopher","go")) // 0 fmt.Println(strings.LastIndex("go gopher","go")) // 3 fmt.Println(strings.LastIndex("go gopher","rodent")) // -1 // 字符串替换 // func Replace(s,old,new string,n int) string /* 返回字符串s的副本,其中前n个非重叠的old实例替换为new。 如果old为空,则它在字符串的开头和每个UTF-8序列之后匹配,对k-rune字符串产生最多k + 1个替换。 如果n <0,则替换次数没有限制。 */ fmt.Println(strings.Replace("oink oink oink","k","pd",2)) // oinpd oinpd oink fmt.Println(strings.Replace("oink oink oink","oink",-1)) // pd pd pd // 计算字符串中某个字符出现次数 // func Count(s,substr string) int /* 计算字符串s中非重叠substr实例的数量。 如果substr是空字符串,则Count返回1 + s中的Unicode代码点数。 */ fmt.Println(strings.Count("cheese","e")) // 3 fmt.Println(strings.Count("fw","")) // 3 // 拼接字符串本身 // func Repeat(s string,count int) string fmt.Println(strings.Repeat("pd",2)) // pdpd // 字符串全小写 // func ToLower(s string) string fmt.Println(strings.ToLower("Gopher")) // gopher // 字符串全小大写 // func ToUpper(s string) string fmt.Println(strings.ToUpper("Gopher")) // GOPHER // 去掉字符串首尾空白字符 //func TrimSpace(s string) string fmt.Println(strings.TrimSpace(" tn Hello,World ntrn")) // Hello,World //去掉字符串首尾cutset字符 // func Trim(s string,cutset string) string fmt.Println(strings.Trim("???Hello!?World!!!","!?")) // Hello!?World // 去掉字符串首部cutset字符 //func TrimLeft(s string,cutset string) string fmt.Println(strings.TrimLeft("???Hello!?World!!!","!?")) // Hello!?World!!! // 去掉字符串尾部cutset字符 // func TrimRight(s string,cutset string) string fmt.Println(strings.TrimRight("???Hello!?World!!!","!?")) // ???Hello!?World // 返回字符串空格分隔的所有子字符串片段 // func Fields(s string) []string fmt.Println(strings.Fields(" foo bar baz ")) // [foo bar baz] // 返回字符串split分隔的所有子串的slice // func Split(s,sep string) []string fmt.Printf("%qn",strings.Split("foo,bar,baz",",")) // ["foo" "bar" "baz"] fmt.Printf("%qn",strings.Split("a foo a bar a baz","a ")) // ["" "foo " "bar " "baz"] fmt.Printf("%qn",strings.Split(" xyz ","")) // [" " "x" "y" "z" " "] fmt.Printf("%qn",strings.Split("","pd")) // [""] // 用sep把s中的所有元素连接起来,以创建单个字符串 // func Join(a []string,sep string) string s := []string{"foo","bar","baz"} fmt.Printf("%qn",strings.Join(s,")) // "foo,baz" // 把一个整数i转成字符串 //func Itoa(i int)string i := 10 str2 := strconv.Itoa(i) fmt.Printf("%T %qn",str2,str2) // string "10" // 把一个字符串转成整数 //func Atoi(s string)(int,error) str3 := "10" if s,err := strconv.Atoi(str3); err == nil { fmt.Printf("%T %dn",s,s) // int 10 } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |