• Golang字符串处理


    本文按顺序包含四个部分

    1.字符串处理函数 使用strings包

    2.字符串转化为其他类型

    3.其他类型转化为字符串

    4.处理中文汉字使用utf8包

    5.格式化字符串

    strings包中常用的函数

    返回-1表示后面大

            fmt.Println(strings.Compare("a", "b"))

    返回1表示前面大
            fmt.Println(strings.Compare("b", "a")) 

    包含子串返回true
            fmt.Println(strings.Contains("hello", "he"))

    返回子串出现的次数
            fmt.Println(strings.Count("happy", "p")) 

    将字符串按空白分割 返回字符串切片
            fmt.Println(strings.Fields("happy new year\nhello world"))

    判断字符串是否以某子串开头
            fmt.Println(strings.HasPrefix("hello", "he"))

    判断字符串是否以某子串结尾
            fmt.Println(strings.HasSuffix("hello", "lo"))


    返回字符串第一次出现的位置 不存在返回-1
            fmt.Println(strings.Index("abandon already", "a")) 

    返回字符串最后一次出现的位置 不存在返回-1

            fmt.Println(strings.LastIndex("abandon already", "a"))

    按照指定符号分割成字符串切片并返回

            fmt.Println(strings.Split("hello,world,happy,new,year", ","))


    将字符串切片按照指定字符串链接
            fmt.Println(strings.Join([]string{"hello", "world", "happy", "new", "year"}, "666"))

    不区分大小写判断是否相等

            fmt.Println(strings.EqualFold("abc", "ABC"))

    将字符串中的m全部替换成X
            fmt.Println(strings.Replace("swimming", "m", "X", -1))

    将字符串中的m替换成X 只替换一次(最后一个参数是次数)
            fmt.Println(strings.Replace("swimming", "m", "X", 1))  

    剩下的部分+代码演示+注释 

    1. package main
    2. import (
    3. "fmt"
    4. "strconv"
    5. "strings"
    6. "unicode/utf8"
    7. )
    8. func main() {
    9. //strings包
    10. //strings.Compare()
    11. fmt.Println(strings.Compare("a", "b")) //返回-1表示后面大
    12. fmt.Println(strings.Compare("b", "a")) //返回1表示前面大
    13. //strings.Contains()
    14. fmt.Println(strings.Contains("hello", "he")) //包含返回true
    15. //strings.Count()
    16. fmt.Println(strings.Count("happy", "p")) //返回子串出现的次数
    17. //strings.Fields()
    18. fmt.Println(strings.Fields("happy new year\nhello world")) //将字符串按空白分割 返回字符串切片
    19. //strings.HasPrefix()
    20. fmt.Println(strings.HasPrefix("hello", "he")) //判断字符串是否以某子串开头
    21. //strings.HasSuffix()
    22. fmt.Println(strings.HasSuffix("hello", "lo")) //判断字符串是否以某子串结尾
    23. //strings.Index()
    24. fmt.Println(strings.Index("abandon already", "a")) //返回字符串第一次出现的位置 不存在返回-1
    25. //strings.LastIndex()
    26. fmt.Println(strings.LastIndex("abandon already", "a")) //返回字符串最后一次出现的位置 不存在返回-1
    27. //strings.Split()
    28. fmt.Println(strings.Split("hello,world,happy,new,year", ",")) //按照指定符号分割成字符串切片并返回
    29. //strings.Join()
    30. fmt.Println(strings.Join([]string{"hello", "world", "happy", "new", "year"}, "666")) //将字符串切片按照指定字符串链接
    31. //strings.EqualFold()
    32. fmt.Println(strings.EqualFold("abc", "ABC")) //不区分大小写判断是否相等
    33. //strings.Replace
    34. fmt.Println(strings.Replace("swimming", "m", "X", -1)) //将字符串中的m全部替换成X
    35. fmt.Println(strings.Replace("swimming", "m", "X", 1)) //将字符串中的m替换成X 只替换一次
    36. //解决中文汉字的问题 使用utf8包
    37. str := "你好啊"
    38. fmt.Println(utf8.RuneCountInString(str))
    39. //字符串转其他类型
    40. //转化为bool类型
    41. if v, err := strconv.ParseBool("true"); err == nil {
    42. fmt.Println(v)
    43. } else {
    44. fmt.Println(err)
    45. }
    46. //转化为int类型
    47. if v, err := strconv.Atoi("999"); err == nil {
    48. fmt.Println(v)
    49. } else {
    50. fmt.Println(err)
    51. }
    52. //转化为int类型 指定尽职 16进制 64位存储
    53. if v, err := strconv.ParseInt("64", 16, 64); err == nil {
    54. fmt.Println(v)
    55. } else {
    56. fmt.Println(err)
    57. }
    58. //其他类型转化为字符串
    59. fmt.Println(strconv.FormatBool(true))
    60. fmt.Println(strconv.Itoa(520))
    61. //fmt.Sprintf()的使用 格式化一个字符串
    62. str = fmt.Sprintf("%d", 999)
    63. fmt.Println(str)
    64. }

  • 相关阅读:
    机器学习强基计划1-3:图文详解Logistic回归原理(两种优化)+Python实现
    git的安装和基本配置以及基本命令.
    幂等防重最佳实践
    7 Go的指针
    python从入门到实践:数据类型、文件处理
    时间复杂度和空间复杂度
    JavaScript客户端操作
    SkyWalking快速上手(六)——告警
    重磅!首例植入配备 BCI 的神经刺激器的患者恢复手臂功能
    高新技术企业认定的重要指标
  • 原文地址:https://blog.csdn.net/u014285914/article/details/126087169