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)
}
}