Golang 常用字符串函数

    • 统计字符串长度,按字节 len(str)

str := "你好"
fmt.Println("len=", len(str))
    • 字符串遍历,同时处理有中文的问题 s := []rune(str)

str := "你好"
s := []rune(str)
for i := 0; i < len(s); i++ {
    fmt.Printf("string=%c\n", s[i])
}
    • 字符串转整数 num, err := strconv.Atoi(str)

str := "123"
num, err := strconv.Atoi(str)
if err != nil {
    fmt.Println("转换成功,数字为:", num)
} else {
    fmt.Println("转换失败,错误:", err)
}
    • 整数转字符串 str := strconv.Itoa(num)

num := 123
str := strconv.Itoa(num)
fmt.Printf("str=%v, type=%T\n", str, str)
    • 查找子串是否在指定的字符串中,区分大小写,支持汉字 strings.Contains(s, substr)

substr := "world"
s := "hello world!"
v := strings.Contains(s, substr)
fmt.Println("v=", v) // 返回:true
    • 统计一个字符串中有几个指定的子串,区分大小写,支持汉字 strings.Count(s, substr)

substr := "世界"
s := "你好,世界!世界~"
count := strings.Count(s, substr)
fmt.Println("数量:", count) // 返回:2
    • 字符串比较,==区分大小写;不区分strings.EqualFold(s, t)

s := "world"
t := "WorLd"
v := strings.EqualFold(s, t)
fmt.Println("v=", v) // 返回:true
    • 返回子串在字符串第一次出现的位置,从0开始计数,区分大小写,若没有返回-1 strings.Index(s, substr)

s := "hello world!"
substr :="world"
index := strings.Index(s, substr)
fmt.Println("index=", index) // 返回:6

类似PHP的strpos函数

    • 返回子串在字符串最后一次出现的位置,从0开始计数,区分大小写,若没有返回-1 strings.LastIndex(s, substr)

s := "hello world!world~"
substr := "world"
index := strings.LastIndex(s, substr)
fmt.Println("index=", index) // 返回:12
    • 将指定的子串替换为另一个子串 strings.Replace(s, old, new, n)

s := "hello world!world~"
old := "world"
new := "世界"
str := strings.Replace(s, old, new, -1)
fmt.Println("str=", str) // 返回:hello 世界!世界~
    • 按照指定字符将字符串拆分为字符串数组 strings.Split(s, sep)

s := "10,11,12"
sep := ","
strArr := strings.Split(s, sep)
for index, value := range strArr {
    fmt.Printf("index=%v value=%v\n", index, value)
}

类似PHP的explode

    • 将字符串字母进行大写转换 strings.ToUpper(s)

    • 将字符串字母进行小写转换 strings.ToLower(s)

    • 将字符串左右两边空格去掉 strings.TrimSpace(s)

s := "      Hello, World!  "
str := strings.TrimSpace(s)
fmt.Println("str=", str) // 返回:Hello, World!
    • 将字符串左右两边指定的字符去掉 strings.Trim(s, cutset)

s := "a Hello, World!a "
cutset := "a "
str := strings.Trim(s, cutset)
fmt.Println("str=", str) // 返回:Hello, World!
    • 将字符串左边指定的字符去掉 strings.TrimLeft(s, cutset)

    • 将字符串右边指定的字符去掉 strings.TrimRight(s, cutset)

    • 判断字符串是否以指定的字符串开头 strings.HasPrefix(s, prefix)

s := "https://www.xx.com"
prefix := "https"
v := strings.HasPrefix(s, prefix)
fmt.Println("v=", v) // 返回:true
    • 判断字符串是否以指定的字符串结尾 strings.HasSuffix(s, suffix)

s := "21312123123123.jpg"
suffix := ".jpg"
v := strings.HasSuffix(s, suffix)
fmt.Println("v=", v) // 返回:true

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值