zoukankan      html  css  js  c++  java
  • 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{"男","女","娘炮","女汉子","人妖"}, "♥"))
    }
    

      

  • 相关阅读:
    java第二次作业 数组和String类
    java第一次作业
    选择
    latex math
    sum的写法
    qt 4.8.5 vs 2012编译
    物联网笔记四:物联网网络及协议
    物联网学习笔记三:物联网网关协议比较:MQTT 和 Modbus
    物联网学习笔记二:物联网网关
    物联网学习笔记一:物联网入门的必备 7 大概念和技能
  • 原文地址:https://www.cnblogs.com/yunweiqiang/p/11831059.html
Copyright © 2011-2022 走看看