标准库-strings包
Posted chaoyangxu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了标准库-strings包相关的知识,希望对你有一定的参考价值。
strings包
/* 用来处理字符串的。 检索子串 格式化 比较大小 裁剪 炸碎 拼接 */
1 package main 2 3 import ( 4 "fmt" 5 "strings" 6 ) 7 8 func main() { 9 10 //判断hello里有没有el字符 11 fmt.Println(strings.Contains("hello","el")) //true 12 13 //asshole里只要有任意一个hello的字符就为true 14 fmt.Println(strings.ContainsAny("hello","asshole")) //true 15 16 //判断是否包含任意字符,单个字符其实会转换成序号 17 fmt.Println(strings.ContainsRune("hello",‘h‘)) //注意单引号 true 18 19 20 //字符和序号之间转换 21 fmt.Printf("%U ",‘h‘) //U+0068 22 fmt.Printf("%c ",0x0068) //h 23 24 25 //直接拿序号进行判断 26 fmt.Println(strings.ContainsRune("hello",0x0068)) //true 27 28 //子串在大串里出现的序号是多少 29 fmt.Println(strings.Index("abcdef","a")) //0 30 fmt.Println(strings.Index("abcdef","d")) //3 31 fmt.Println(strings.Index("abcdef","g")) //-1 32 33 //子串任意是否在大串里包含,如果包含那么首位的序号显示出来 34 fmt.Println(strings.IndexAny("abcdef","fght")) //5 35 36 //查看这个序号是否在大串里出现,出现就显示序号,没有就-1 37 fmt.Println(strings.IndexRune("abcdef",0x0068)) //-1 38 fmt.Println(strings.IndexRune("abcdefh",0x0068)) //6 39 40 41 }
字符串格式化
1 package main 2 3 import ( 4 "fmt" 5 "strings" 6 ) 7 8 func main() { 9 10 fmt.Println(strings.ToUpper("HeLLO")) //全部变为大写 HELLO 11 fmt.Println(strings.ToLower("HeLLO")) //全部变为小写 hello 12 fmt.Println(strings.Title("hello")) //首字母大写 Hello 13 14 }
字符串比较大小
1 package main 2 3 import ( 4 "fmt" 5 "strings" 6 ) 7 8 func main() { 9 10 //比较首位字符的序号是否比后面首位字符大,如果不大就为-1 11 //如果首位俩个相同,会继续比较第二位的序号 12 fmt.Println(strings.Compare("a","b")) //-1 13 fmt.Println(strings.Compare("c","a")) //1 14 fmt.Println(strings.Compare("a","a")) //0 15 16 }
字符串的裁剪
1 package main 2 3 import ( 4 "fmt" 5 "strings" 6 ) 7 8 func main() { 9 10 //去掉头和尾的空格 11 fmt.Println(strings.TrimSpace(" aa bb cc ")) //aa bb cc 12 13 //去掉前缀 14 fmt.Println(strings.TrimPrefix("dddaa bb cc ", "ddd")) //aa bb cc 15 16 //去掉后缀 17 fmt.Println(strings.TrimSuffix("aa bb ccddd", "ddd")) //aa bb cc 18 19 //去掉头和尾的a 中间的a不去掉 20 fmt.Println(strings.Trim("aabaacaa", "a")) //baac 21 22 //只去头部 23 fmt.Println(strings.TrimLeft("aabaacaa", "a")) //baacaa 24 25 //只去尾部 26 fmt.Println(strings.TrimRight("aabaacaa", "a")) //aabaac 27 28 //根据后面的函数的判断,如果包含f或u就去掉,不包含的不去掉。 29 fmt.Println(strings.TrimFunc("uabcf", fileter)) //abc 30 31 } 32 33 34 35 //哪个字符返回True 哪个字符就上黑名单 36 func fileter(char rune) bool { 37 if char == ‘f‘ || char == ‘u‘ { 38 return true 39 } else { 40 return false 41 } 42 }
以上是关于标准库-strings包的主要内容,如果未能解决你的问题,请参考以下文章