Press "Enter" to skip to content

《Go 学习手记》strings 包的使用

Go 语言中,包的概念就是我们程序中的目录,我们所写的代码都放在包中。在定义的时候使用 package 定义包。然后使用 import 引入包。Go 语言中提供了很多内置包,例如:fmt、strings、strconv、os、io等;

strings 包主要针对 utf-8 编码,实现一些简单函数;

在使用之前需要先使用 import "strings" 引入 strings 包,文中例子需要打印输出,因此还需要引入 “fmt” 包,具体代码如下:

import (
        "fmt"
        "strings"
)

查找字符串:

// 判断一个字符串中是否包含指定的字符串
s1 := "ok, let's go go go"
fmt.Println(strings.Contains(s1, "go")) // true 查找 ("ok, let's go") 中是否包含 ("go") 字符串

fmt.Println(strings.ContainsAny(s1, "glass")) // true 判断字符串("ok, let's go")是否包含字符串("glass")中任意一个字符,只要其中有任意一个字符被包含,就返回 true

fmt.Println(strings.Count(s1, "go")) // 3 返回指定字符串("go")出现的次数

fmt.Println(strings.HasPrefix(s1, "ok")) // true 判断字符串("ok, let's go go go")是否以指定的字符串("ok")开头

fmt.Println(strings.HasSuffix(s1, "go")) // true 判断字符串("ok, let's go go go")是否以指定的字符串("go")结束

fmt.Println(strings.Index(s1, "g")) // 10 返回指定字符(“g”)在字符串("ok, let's go go go") 中首次出现的位置,如果不存在返回 -1

fmt.Println(strings.IndexAny(s1, "sun")) // 0 返回指定字符串(“son”)中任意一个字符在字符串("ok, let's go go go") 中首次出现的位置,如果都不存在返回 -1

fmt.Println(strings.LastIndex(s1, "g")) // 16 返回指定字符(“g”)在字符串("ok, let's go go go") 中最后一次出现的位置,如果不存在返回 -1

字符串的拼接:

// 字符串拼接
s2 := []string {"123n", "abc", "ss"}
fmt.Println(s2)

s3 := strings.Join(s2, "_") //将切片中的字符串用“_”连接起来
fmt.Println(s3) // 123n_abc_ss

// 字符串分割
s4 := strings.Split(s3, "_") // 将字符串根据“_”进行分割
fmt.Println(s4) // [123n abc ss] 返回切片 []string [123n abc ss]

字符串替换:

s5 := "okoletsgo"
s6 := strings.Replace(s5, "o", "*", 1) // 将字符串("okoletsgo")中的(“o”)替换成(“*”),最后的参数 1 表示替换次数( 1 表示替换 1 次,-1 为全部替换)
fmt.Println(s6) // *koletsgo

 

字符串的截取:

// 字符串截取
s7 := "this is string"
fmt.Println(s7[1:7]) // his is 格式:str[start:end] 截取时包含 start 不包含 end
发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注