十三、Golang学习笔记:字符串的处理与转换


Golang中字符串的处理,包括字符串处理常用的方法和字符串转换。


字符串常用方法

  • Contains():判断一个字符串是否在另外一个字符串中。
  • Join():字符串连接
  • Index():在一个字符串中查找某个字符串的位置
  • Repeat():某个字符串重复多少次,返回的是重复后的字符串
  • Replace():在s字符串中,把old字符串替换为new字符串,n表示替换的次数,小于0表示全部替换
  • Split():把s字符串按照sep分割,返回slice(切片)
func main(){
    //Coneains
    var str string = "hellogo"
    b := strings.Contains(str,"go")//判断某个字符串是否在str中存在,如果存在返回true,否则返回false
    fmt.Println(b)
    
    //join方法使用
    s := []string{"abc","hello","world"}
    str := strings.Join(s,"|")//以"|"对切片中的内容进行分割
    fmt.Println(str)
    
    //Index
    str := "abcHello"
    n := strings.Index(str,"Hello")//判断“Hello”在str中出现的位置,注意位置从0开始计算
    fmt.Println(n)
    
    //Repeat
    str := strings.Repeat("go",3)//表示字符串“go”重复3次
    fmt.Println(str)
    
    //Replace
    str := "hello world"
    fmt.Println(strings.Replace(str,"l","w",1))//用新的字符串替换旧的字符串,第四个参数表示替换的次数,如果小于0,表示全部替换
    
    //Split
    str := "hello@world@lzh"
    s := strings.Split(str,"@")
    fmt.Println(s)
}

字符串案例

//让用户输入一个日期格式,如:2021-01-20,输出日期为2021年1月20日
func main(){
    //1.输入日期
    fmt.Println("请输入时期,格式:年-月-日")
    var str string
    fmt.Scan(&str)
    //2.按照“-”进行分割
    s := strings.Split(str,"-")
    //3.输出指定的格式
    fmt.Println(s[0]+"年"+s[1]+"月"+s[2]+"日")
}
//让用户输入一句话,判断这句话中有没有“邪恶”,如果有“邪恶”就替换成“**”,然后输出
func main(){
    //1.定义变量存储用户输入的一句话
    fmt.Println("请输入一句话:")
    var str string
    fmt.Scan(&str)
    //2.判断用户输入的内容中是否有“邪恶”
    if strings.Contains(str,"邪恶"){
    	//3.如果有,则进行替换
        strings.Replace(str,"邪恶","**",-1)    
    }
    fmt.Println(str)
}

字符串转换

func main(){
    //把其他类型的转换为字符串
    //将bool类型转换成字符类型
    str := strconv.FormatBool(true)
    fmt.Println(str)//输出字符串类型
    
    //将int类型转换成字符串类型
    str := strconv.Itoa(123)
    fmt.Println(str)
    
    //把字符串转换为其他类型
    //将“true” -- bool
    b,err := strconv.ParseBool("true")
    if err!=nil{
        fmt.Println(err)
    }else{
        fmt.Println(b)
    }
    
    //将“123” -- int
    num,err := strconv.Atoi("123")
    if err!=nil{
        fmt.Println(err)
    }else{
        fmt.Println(num)
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值