Go strings.ReplaceAll

 
func test13(){
    str := "你好"
    newStr := strings.ReplaceAll(str, "你", "")
    fmt.Println(newStr) // 好
}

Go strings.Trim

Trim

 
func test13(){
    str := "你好"
    newStr := strings.Trim(str, "你")
    fmt.Println(newStr) // 好
}

TrimPrefix与TrimLeft的区别

 
TrimLeft returns a slice of the string s 
with all leading Unicode code points contained in cutset removed.

To remove a prefix, use TrimPrefix instead.

func main(){
    dirName1:="/opt/tpf/cwks/src" 
    p1:= "/opt/tpf/cwks" 
    md_path1 := strings.TrimLeft(dirName1,p1)
    md_path2 := strings.TrimPrefix(dirName1,p1)

    // md_path1: rc md_path2: /src
    fmt.Println("md_path1:",md_path1,"md_path2:",md_path2)
}

    

TrimSpace:去除首尾空格

 
package main 
import (
    "fmt"
    "strings"
)
func main(){
    ss := fmt.Sprintf(" go go go ")
    res := strings.TrimSpace(ss)
    res = fmt.Sprintf("--%v--",res)
    fmt.Println(res)
}

 
$ go build str.go 
$ ./str
--go go go--

Go 字符串比较

 
== 直接比较,区分大小写
func test14(){
    flag := "爱德,我爱你^_^" == "但我不爱你!"
    fmt.Println(flag) //false
}

strings.Compare(a,b) 该函数返回值为 int, 0 表示两数相等,1 表示 a>b, -1 表示 a<b。区分大小写
    
strings.EqualFold(a,b) 直接返回是否相等,
不区分大小写
不区分大小写
不区分大小写

== 效率最高,EqualFold不分区大小写 

Go 字符串子串

切片:字节的起始位置,而不是字符

 
package main
import (
    "fmt"
)
func main() {
    ss := "wa kaka "
    // 开始字节索引位置,结束字节索引位置 
    fmt.Println(ss[3:5]) // ka
    ss = "注意力机制让人同一时间只重点关注一个事物"
    fmt.Println(ss[0:6]) // 注意
}

Go strings.Split

 
arr:=strings.Split(s,sep)

参考文章