• go strings 包


    go strings 包

    介绍

    标准库strings用于处理utf-8编码的字符串,字符串的操作,通过该标准库

    字符串比较-Compare

    func Compare(a,b string) int
    
    • 1
    • 若 a==b ,则返回0;若 a b ,则返回 1。
    • 字符串的比较方法是根据单个字符的ASCII编码。

    示例

    package main
    import (
    	"fmt"
    	"strings"
    )
     
    func main() {
    	var str1 string = "hello"
    	var str2 string = "world"
     
    	fmt.Println(strings.Compare(str1,str2)) // -1
    	fmt.Println(strings.Compare(str2,str1)) // 1
    	fmt.Println(strings.Compare(str1,str1)) // 0
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    检测字符串是否包含子串-Contains

    func Contains(s,substr string) bool
    
    • 1

    示例

    package main
    import (
    	"fmt"
    	"strings"
    )
     
    func main() {
    	fmt.Println(strings.Contains("lxx is nb","lxx")) // true
    	fmt.Println(strings.Contains("lxx is nb","pyy")) // false
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    大小写转换

    func ToUpper(substr string) string
    func ToLower(substr string) string
    func ToTitle(substr string) string //将字符修改为其Title格式,大部分字符的Title格式就是Upper格式,只有少数字符的Title格式是特殊字符
    
    • 1
    • 2
    • 3

    示例

    package main
     
    import (
    	"fmt"
    	"strings"
    )
     
    func main() {
    	var str1 string = "hello,lxx"
    	fmt.Println(strings.ToUpper(str1)) // HELLO, GOLANG
    	fmt.Println(strings.ToLower(str1)) // hello, golang
    	fmt.Println(strings.ToTitle(str1)) // HELLO, GOLANG
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    统计子字符串出现的次数

    func Count(str,substr string) int
    
    • 1

    示例

    package main
     
    import (
    	"fmt"
    	"strings"
    )
     
    func main() {
    	var str1 string = "lxx is Nb, lxx is big,lxx is handsome"
    	var str2 string = "lxx"
    	fmt.Println(strings.Count(str1,str2))  //3 
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    判断字符串的前后缀

    func HasPrefix(str,substr string) bool
    func HasSuffix(str,substr string) bool
    
    • 1
    • 2

    示例

    package main
    
    import (
    	"fmt"
    	"strings"
    )
    
    func main() {
    	var str1 string = "lxx is handsome"
    	var str2 string = "l"
    	var str3 string = "lxx"
    	var str4 string = "lxxi"
    	fmt.Println(strings.HasPrefix(str1, str2)) // true
    	fmt.Println(strings.HasPrefix(str1, str3)) // ture
    	fmt.Println(strings.HasSuffix(str1, str4)) // false
    
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    分割和连接

    func Split(str,separator string) []string
    func Join(strs []string) string
    
    • 1
    • 2

    示例

    package main
    
    import (
    	"fmt"
    	"strings"
    )
    
    func main() {
    	var str1 string = "lxx is Nb,lxx is handsome"
    	fmt.Println(strings.Split(str1, ",")) // [lxx is Nb      lxx is handsome]
    	for _,v := range strings.Split(str1, ",") {
    		fmt.Println(v)
    	}
    	fmt.Println(strings.Join([]string{"lxx","is","NB"}, " ")) // lxx is NB
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    索引

    这个操作能获取指定字符首次出现的位置,通常用来判断子字符串在对应字符串中的位置。

    func Index(str,substr string) int
    
    • 1

    示例

    package main
    
    import (
    	"fmt"
    	"strings"
    )
    
    func main() {
    	var str1 string = "lxx is Nb"
    	fmt.Println(strings.Index(str1, "Nb")) // 7
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    清洗

    清洗操作可以将字符串两端的一些字符删掉,常用来删除字符串两端的空格。

    func Trim(s, cutset string) string
    func TrimLeft(s, cutset string) string
    func TrimRight(s, cutset string) string
    func TrimPrefix(s, prefix string) string
    func TrimSuffix(s, suffix string) string
    func TrimSpace(str string) string
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    示例

    package main
    
    import (
    	"fmt"
    	"strings"
    )
    
    func main() {
    	var str1 string = "   lxx is Nb  "
    	var str2 string = "***lxx is Nb***"
    	fmt.Println(strings.Trim(str1, " ")) // lxx is Nb
    	fmt.Println(strings.Trim(str2, "*")) //lxx is Nb
    	// 专门用来清除两端空格的函数
    	fmt.Println(strings.TrimSpace(str1)) // lxx is Nb
    	fmt.Println(strings.TrimRight(str1," ")) //    lxx is Nb
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    替换

    清洗操作只能完成首尾的空格或者指定字符的替换,要完成更为复杂的操作则要调用NewReplacer()函数。

    func Replace(s, old, new string, n int) string {}
    func NewReplacer(oldnew ...string) *Replacer 
    
    • 1
    • 2

    示例

    package main
    
    import (
    	"fmt"
    	"strings"
    )
    
    func main() {
    	var str1 string = "www.cnblogs.com/lxx/p/15996060.html"
    	newReplacer1 := strings.NewReplacer("/",":")
    	fmt.Println(newReplacer1.Replace(str1)) //www.cnblogs.com:lxx:p:15996060.html
    
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
  • 相关阅读:
    binding 里面local的用法
    【Effective Objective - C】—— block 块
    在java应用程序中使用spring
    Casper Network 构建企业级区块链生态的野望
    【05】FISCOBCOS中的节点配置
    下半年软考报名时间发布,你准备好了吗?
    深度学习知识点:循环神经网络(RNN)、长短期记忆网络(LSTM)、门控循环单元(GRU)
    hadoop之hdfs生产数据块损坏修复方法
    SSM+JSP实现《吃货联盟外卖系统》
    Python学习笔记之运算符的使用
  • 原文地址:https://blog.csdn.net/qq_55752792/article/details/126283184