Golang 字符串处理汇总

1. 统计字符串长度:len(str)

len(str) 函数用于统计字符串的长度,按字节进行统计,且该函数属于内置函数也不用导包,直接用就行,示例如下:

//统计字符串的长度,按字节进行统计:
str := "golang你好"//在golang中, 汉字是utf-8字符集,一个汉字3个字节
fmt.Print1n(len(str))//12字节

2. 字符串遍历

(1)利用方式1:for-range键值循环

//对字符串进行遍历:
//方式1:利用键值循环: for-range
for i,value := range str {
    fmt.Printf("索引为: %d, 具体的值为: %c \n", i, value)
}

结果如下: 

(2)利用方式2: r:=[]rune(str)

//方式2:利用r:=[ ]rune(str)
r:=[]rune(str)
fori:=0;i<len(r);i++{
    fmt. Printf("%c \n" ,r[i])
}

结果如下:

3. 字符串转整数:Atoi

n, err := strconv.Atoi("66") 

4. 整数转字符串:Itoa          

str = strconv.Itoa(6887)

5. 查找子串是否在指定的字符串中: Contains

 strings.Contains("javaandgolang", "go")

6. 统计一个字符串有几个指定的子串:Count

//统计一个字符串有几个指定的子串:
count := strings.Count("golangandjavaga", ga")
fmt.Println(count)    //2

7. 不区分大小写的字符串比较:EqualFold

//不区分大小写的字符串比较:
flag := strings.EqualFold("hello","HELLO")
fmt.Println(flag)//true
//区分大小写进行字符串比较:
fmt.Println("hello"=="Hello")//false

8. 返回子串在字符串第一次出现的索引值,如果没有返回-1:lndex

//返回子串在字符串第一次出现的索引值,如果没有返回-1 :
fmt.Println(strings.Index("golangandjavaga" ,”ga0"))

9. 字符串的替换:Replace

//strings.Replace("goandjavagogo", "go", "golang", n) 
//n可以指定你希望替换几个,如果n=-1表示全部替换,替换两个n就是2

func main(){
    //字符串的替换:
    str1 := strings.Replace("goandjavagogo","go","golang", -1)
    str2 := strings.Replace("goandjavagogo", "go","golang",2)
    fmt.Print1n(str1)
    fmt .Print1n(str2)
}

结果如下:

10. 按照指定的某个字符,为分割标识,将一个字符串拆分成字符串数组:Split

//按照指定的某个字符,为分割标识,将一个学符串拆分成字符串数组:
arr := strings.Split(" go-python-java", "-")
fmt.Print1n(arr)

11. 将字符串的字母进行大小写的转换

//将字符串的字母进行 大小写的转换:
fmt.Println(strings. ToLower("Go"))
fmt.Println(strings. ToUpper("go"))

12. 将字符串左右两边的空格去掉

//将字符串左右两边的空格去掉:
fmt.Println(strings.TrimSpace("  go and java  "))

13. 将字符串左右两边指定的字符去掉

//将字符串左右两边指定的字符去掉:
fmt.Println(strings.Trim("~golang~","~"))

14. 将字符串左边指定的字符去掉

strings.TrimLeft("~golang~", "~")

15. 将字符串右边指定的字符去掉

strings.TrimRight("~golang~", "~")

16. 判断字符串是否以指定的字符串开头

strings.HasPrefix("http://java.sun.com/jsp/jstl/fmt", "http")

17. 判断字符串是否以指定的字符串结束

strings.HasSuffix("demo.png", ".png")

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

数据库内核

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值