Go语言查找字符序列函数

Go语言查找字符序列函数教程

Go 语言 中,在一个 字符串 中从开始查找另一个 字符序列 我们使用 Strings.IndexAny() 函数,从结尾往前查找我们使用 Strings.LastIndexAny() 函数。

也就是说,Strings.IndexAny() 函数返回的是字符序列中所有字符第一个出现的位置,而 Strings.LastIndexAny() 函数返回的是字符序列中所有字符最后一次出现的位置。

IndexAny()函数语法

语法

func IndexAny(s, chars string) int

参数

参数 描述
s 原字符串。
chars 要检索的字符序列。

返回值

IndexAny() 函数返回 int 类型的值,如果包含,则返回第一次出现字符序列的索引;反之,则返回 -1。

LastIndexAny()函数

语法

func LastIndexAny(s, chars string) int

参数

参数 描述
s 原字符串。
chars 要检索的字符序列。

返回值

LastIndexAny() 函数返回 int 类型的值,如果包含,则返回最后一次出现字符序列的索引;反之,则返回 -1。

案例

查找字符序列出现位置

使用 Strings.IndexAny() 函数,查找字符序列中某个字符第一次出现的位置

package main import ( "fmt" "strings" ) func main() { fmt.Println("嗨客网(www.haicoder.net)") //使用 Strings.IndexAny() 函数,查找字符序列中某个字符第一次出现的位置 strHaiCoder := "I love Golang and I study Golang From HaiCoder" indexAny := strings.IndexAny(strHaiCoder, "ro") fmt.Println("indexAny =", indexAny) }

程序运行后,控制台输出如下:

25 golang查找字符序列.png

首先,我们定义了一个字符串类型的 变量 strHaicoder,接着我们使用字符串的 strings.IndexAny() 函数查找字符串变量 strHaicoder 中单个字符 r 或者 o 第一次出现的位置,并使用 print() 函数,打印最终的结果。

字符 o 第一次出现在了字符串的第 4 个位置,字符 r 在该字符串的最后一个,因此该函数返回了 3。

反向查找字符序列出现位置

使用 Strings.LastIndexAny() 函数,查找字符序列中某个字符最后一次出现的位置

package main import ( "fmt" "strings" ) func main() { fmt.Println("嗨客网(www.haicoder.net)") //使用 Strings.LastIndexAny() 函数,查找字符序列中某个字符最后一次出现的位置 strHaiCoder := "I love Golang and I study Golang From HaiCoder" lastIndexAny := strings.LastIndexAny(strHaiCoder, "ro") fmt.Println("lastIndexAny =", lastIndexAny) }

程序运行后,控制台输出如下:

26 golang查找字符序列.png

首先,我们定义了一个字符串类型的变量 strHaicoder,接着我们使用字符串的 strings.LastIndexAny() 函数查找字符串变量 strHaicoder 中单个字符 r 或者 o 最后一次出现的位置,并使用 print() 函数,打印最终的结果。

字符 o 最后一次出现在了字符串的第倒数第三个个位置,字符 r 在该字符串中最后一个位置,因此该函数返回了 字符 r 的位置。

查找不存在的字符串

使用 Strings.IndexAny() 函数,查找不存在的字符串返回 -1

package main import ( "fmt" "strings" ) func main() { fmt.Println("嗨客网(www.haicoder.net)") //使用 Strings.LastIndexAny() 函数,查找不存在的字符串返回 -1 strHaiCoder := "I love Golang and I study Golang From HaiCoder" lastIndexAny := strings.LastIndexAny(strHaiCoder, "cb") fmt.Println("lastIndexAny =", lastIndexAny) }

程序运行后,控制台输出如下:

27 golang查找字符序列.png

首先,我们定义了一个字符串类型的变量 strHaicoder,接着我们使用字符串的 Strings.LastIndexAny() 函数查找字符串变量 strHaicoder 中字符串 Haicoder 最后一次出现的位置,并使用 print() 函数,打印最终的结果。

字符序列 cb 中的任何一个字符都不在字符串 strHaiCoder 中,所以返回了 -1。

Go语言查找字符序列函数总结

在 Go 语言中,在一个字符串中从开始查找另一个字符序列我们使用 Strings.IndexAny() 函数,从结尾往前查找我们使用 Strings.LastIndexAny() 函数。Go 语言 IndexAny() 函数语法:

func IndexAny(s, chars string) int

Go 语言 LastIndexAny() 函数语法:

func LastIndexAny(s, chars string) int