• 字符串常用的系统函数


    字符串

    常用的系统函数

    1、统计字符串的长度,按字节len(str)

    // golang的编码统一为utf-8(ASCII的字符(字母和数字)占一个字节,中文占3个字节)
    var str = "xiao浩"
    fmt.Println(len(str))
    

    2、字符串遍历,同时处理有中文的问题

    // 方式一
    r := []rune(str)
    for i := 0; i < len(r); i++ {
      fmt.Printf("%c
    ",r[i])
    }
    // 方式二
    for _, val := range str {
      fmt.Printf("%c
    ", val)
    }
    

    3、字符串转整数

    n, err := strconv.Atoi("123")
    if err != nil {
      fmt.Println("转换失败", err)
    } else {
      fmt.Println(n)
    }
    

    4、整数转字符串

    str = strconv.Itoa(123)
    fmt.Println(str)
    

    5、字符串转[]byte

    var bytes = []byte("xiaohao")
    fmt.Printf("%v
    ", bytes)  // [120 105 97 111 104 97 111]
    

    6、[]byte转字符串

    str = string([]byte{97, 98})
    fmt.Printf("%v
    ", str)  // ab
    

    7、10进制转2, 8, 16进制

    str = strconv.FormatInt(10, 2)  // 2指2进制
    fmt.Printf("%v
    ", str)  // 1010
    

    8、查找子串是否在指定的字符串中

    b := strings.Contains("xiaohao", "hao")
    fmt.Printf("%v
    ", b) // true
    

    9、统计一个字符串有几个指定的子串

    count := strings.Count("xiaohao", "o")
    fmt.Printf("%v
    ", count) // 2
    

    10、不区分大小写的字符串比较(==是区分字母大小写的)

    eq := strings.EqualFold("hao", "Hao")
    fmt.Printf("%v
    ", eq) // true
    

    11、返回子串在字符串第一次出现的index值,如果没有返回-1

    index := strings.Index("xiaohao", "hao")
    fmt.Printf("%d
    ", index) // 4
    

    12、返回子串在字符串最后一次出现的index,如没有返回-1

    index = strings.LastIndex("xiaohao", "a")
    fmt.Printf("%d
    ", index)  // 5
    

    13、将指定的子串替换成另外一个子串

    # 第一种方式Replace	
    str2 := "hello 小浩"
    str2 = strings.Replace(str2, "小浩", "hao", 1)  // 如果n=-1表示全部替换
    fmt.Printf("%v
    ", str2)  // hello hao
    
    # 第二种方式ReplaceAll 全部替换
    str2 := "hello 小浩"
    str2 = strings.ReplaceAll(str2, "ll", "oo")
    fmt.Printf("%v
    ", str2) // heooo 小浩
    

    14、按照指定的某个字符,为分割标识,将一个字符串拆分成字符串数组

    strArr := strings.Split("hello,world", ",")
    fmt.Printf("%v
    ", strArr) // [hello world]
    

    15、将字符串的字母进行大小写的转换

    str = "xiaohao"
    str = strings.ToUpper(str)  // 大写
    fmt.Printf("%v
    ", str)  // XIAOHAO
    
    str = strings.ToLower(str)  // 小写
    fmt.Printf("%v
    ", str) // xiaohao
    

    16、将字符串左右两边的空格去掉

    str = "  xiao hao  "
    str = strings.TrimSpace(str)
    fmt.Printf("%v
    ", str)  // xiao hao
    

    17、将字符串左右两边指定的字符去掉

    str = " !xiao ! hao! "
    str = strings.Trim(str, " !")
    fmt.Printf("%v
    ", str)  // xiao ! hao
    

    18、将字符串左边指定的字符去掉

    str = "!xiao hao!"
    str = strings.TrimLeft(str, "!")
    fmt.Printf("%v
    ", str)  // xiao hao!
    

    19、将字符串右边指定的字符去掉

    str = "!xiao hao!"
    str = strings.TrimRight(str, "!")
    fmt.Printf("%v
    ", str)  // !xiao hao
    

    20、判断字符串是否以指定的字符串开头

    str = "xiaohao"
    b = strings.HasPrefix(str, "xi")
    fmt.Printf("%v
    ", b)  // true
    

    21、判断字符串是否以指定的字符串结尾

    str = "xiaohao"
    b = strings.HasSuffix(str, "xi")
    fmt.Printf("%v
    ", b)  // false
    
  • 相关阅读:
    Common Element in Two Sorted Sets
    Nearest Points on a Plane
    Influencer Finder
    Range of Intervals
    *Common characters
    自定义栈 和装箱,拆箱
    1.Vector(同步)和ArrayList(异步)异同
    STL中的迭代器的使用
    如何优化limit?
    mysql五大引擎之间的区别和优劣之分
  • 原文地址:https://www.cnblogs.com/ghh520/p/15207970.html
Copyright © 2020-2023  润新知