GO语言常用标准库01---strings包
package main import ( "fmt" "strings" ) func main031() { fmt.Printf("字符形式:%c; ", 0x007B) //{ fmt.Printf("UTF8码值(序号)形式:%U; ", "妹")//U+007B } /*检索字符串*/ func main() { //判断字符串s是否包含子串substr。 fmt.Println(strings.Contains("你妹啊","我")) //false fmt.Println(strings.Contains("你妹啊","你妹")) //true //判断字符串s是否包含utf-8码值r。 fmt.Println(strings.ContainsRune("你妹啊{",0x59b9)) //true 包含字符“妹” fmt.Println(strings.ContainsRune("你妹啊{",'妹')) //true fmt.Println(strings.ContainsRune("你妹啊{",'浪')) //false //判断s是否包含chars中的任意一个字符 fmt.Println(strings.ContainsAny("你妹啊", "笑你个头")) //true fmt.Println(strings.ContainsAny("hello", "笑个鸟")) //false //子串sep在字符串s中第一次出现的位置 fmt.Println(strings.Index("hello","h")) //0 fmt.Println(strings.Index("hello","e")) //1 fmt.Println(strings.Index("hello","hex")) //-1子串不存在 fmt.Println(strings.Index("你妹啊","妹")) //3 在UTF8字符集中,一个汉字占3字节,此处的“位置”,一个位置对应一个字节 //字符串chars中的任一utf-8码值在s中第一次出现的位置,如果不存在或者chars为空字符串则返回-1。 fmt.Println(strings.IndexAny("hello","asshole"))//0 fmt.Println(strings.IndexAny("高兴你妹啊", "笑你个头"))//6(UTF8字符集中一个汉字占3字节) }
/*格式化*/ func main034() { fmt.Println(strings.ToUpper("HeLlo")) //HELLO fmt.Println(strings.ToLower("HeLlo")) //hello fmt.Println(strings.ToTitle("HeLlo")) //HELLO } /*比较大小*/ func main035() { fmt.Println(strings.Compare("hello", "world")) // -1 fmt.Println(strings.Compare("hello", "asshole")) // 1 fmt.Println(strings.Compare("hello", "hello")) // 0 fmt.Println(strings.Compare("ass", "ASS")) // 在字符串中大写字母比较靠前 } //空白字符:空格, 制表符, 换行符, 回车符(回行首) func main036() { fmt.Println(strings.TrimSpace(" 你妹 啊 ")) fmt.Println(strings.TrimSpace(" 你妹 啊 ")) fmt.Println(strings.TrimPrefix("男:你妹啊男:", "男:"))//你妹啊男: fmt.Println(strings.TrimSuffix("男:你妹啊男:", "男:"))//男: 你妹啊 /* 裁剪头尾的自定义字符 第二个参数f 自定义裁剪规则(对传入的参数字符返回true代表要裁剪掉) */ fmt.Println(strings.TrimFunc("男:你妹啊 女:你大爷的 合:我们是吉祥的一家嬲", func(r rune) bool { if r == '男' || r == '女' || r == '嬲'{ return true } return false })) } /*分割与拼接*/ func main() { //seperator 分隔符 fmt.Println(strings.Split("他好 我也好 大家好才是真的好", " "))//[他好 我也好 大家好才是真的好] fmt.Println(strings.SplitAfter("他好,我也好,大家好才是真的好", ","))//[他好, 我也好, 大家好才是真的好] //炸碎为N段 fmt.Println(strings.SplitN("他好,我也好,大家好才是真的好,好好学习", ",", 2))//[他好 我也好,大家好才是真的好,好好学习] fmt.Println(strings.SplitAfterN("他好,我也好,大家好才是真的好,好好学习", ",", 2))//[他好, 我也好,大家好才是真的好,好好学习] //拼接 fmt.Println(strings.Join([]string{"男","女","娘炮","女汉子","人妖"}, "♥")) }