在Go語(yǔ)言字符串中,可以使用以下函數(shù)從原始字符串中找到指定字符串的第一個(gè)索引值。這些函數(shù)是在字符串包下定義的,因此,您必須在程序中導(dǎo)入strings包才能使用這些功能:
1.Index:此函數(shù)用于從原始字符串中查找給定字符串的第一個(gè)實(shí)例的索引值。如果給定的字符串在原始字符串中不存在,則此方法將返回-1。
語(yǔ)法:
func Index(str, sbstr string) int
在這里,str是原始字符串,sbstr是我們要查找索引值的字符串。讓我們借助示例來(lái)討論這個(gè)概念:
//給定字符串的索引值 package main import ( "fmt" "strings" ) func main() { //創(chuàng)建和初始化字符串 str1 := "Welcome to the online portal of nhooo" str2 := "My dog name is Dollar" str3 := "I like to play Ludo" //顯示字符串 fmt.Println("字符串 1: ", str1) fmt.Println("字符串 2: ", str2) fmt.Println("字符串 3: ", str3) //查找給定字符串的索引值 //使用Index()函數(shù) res1 := strings.Index(str1, "Geeks") res2 := strings.Index(str2, "do") res3 := strings.Index(str3, "chess") res4 := strings.Index("nhooo, geeks", "ks") //顯示結(jié)果 fmt.Println("\n索引值:") fmt.Println("結(jié)果 1: ", res1) fmt.Println("結(jié)果 2: ", res2) fmt.Println("結(jié)果 3: ", res3) fmt.Println("結(jié)果 4: ", res4) }
輸出:
字符串 1: Welcome to the online portal of nhooo 字符串 2: My dog name is Dollar 字符串 3: I like to play Ludo 索引值: 結(jié)果 1: -1 結(jié)果 2: 3 結(jié)果 3: -1 結(jié)果 4: 10
2. IndexAny:此方法從原始字符串中的chars返回任何Unicode碼的第一個(gè)實(shí)例的索引值。如果原始字符中沒(méi)有來(lái)自chars的Unicode代碼點(diǎn),則此方法將返回-1。
語(yǔ)法:
func IndexAny(str, charstr string) int
在這里,str是原始字符串,charstr是chars的Unicode代碼點(diǎn),我們想要查找索引值。
//給定字符串的索引值 package main import ( "fmt" "strings" ) func main() { //創(chuàng)建和初始化字符串 str1 := "Welcome to the online portal of (cainiaoplus.com)" str2 := "My dog name is Dollar" str3 := "I like to play Ludo" //顯示字符串 fmt.Println("字符串 1: ", str1) fmt.Println("字符串 2: ", str2) fmt.Println("字符串 3: ", str3) //查找給定的字符串索引值 //使用IndexAny()函數(shù) res1 := strings.IndexAny(str1, "G") res2 := strings.IndexAny(str2, "do") res3 := strings.IndexAny(str3, "lqxa") res4 := strings.IndexAny("nhooo, geeks", "uywq") //顯示結(jié)果 fmt.Println("\n索引值:") fmt.Println("結(jié)果 1: ", res1) fmt.Println("結(jié)果 2: ", res2) fmt.Println("結(jié)果 3: ", res3) fmt.Println("結(jié)果 4: ", res4) }
輸出:
字符串 1: Welcome to the online portal of (cainiaoplus.com) 字符串 2: My dog name is Dollar 字符串 3: I like to play Ludo 索引值: 結(jié)果 1: -1 結(jié)果 2: 3 結(jié)果 3: 2 結(jié)果 4: -1
3. IndexByte:此函數(shù)返回原始字符串中給定字節(jié)的第一個(gè)實(shí)例的索引。如果給定的字節(jié)在原始字符串中不存在,則此方法將返回-1。
語(yǔ)法:
func IndexByte(str string, b byte) int
在這里,str是原始字符串,b是一個(gè)字節(jié),我們要查找其索引值。讓我們借助示例來(lái)討論這個(gè)概念:
// 給定字節(jié)的索引值 package main import ( "fmt" "strings" ) // Main function func main() { //創(chuàng)建和初始化字符串 str1 := "Welcome to the online portal of (cainiaoplus.com)" str2 := "My dog name is Dollar" str3 := "I like to play Ludo" // 顯示字符串 fmt.Println("字符串 1: ", str1) fmt.Println("字符串 2: ", str2) fmt.Println("字符串 3: ", str3) //查找給定字節(jié)的索引值 //使用IndexByte()函數(shù) res1 := strings.IndexByte(str1, 'c') res2 := strings.IndexByte(str2, 'o') res3 := strings.IndexByte(str3, 'q') res4 := strings.IndexByte("nhooo, geeks", 'G') //顯示結(jié)果 fmt.Println("\n索引值:") fmt.Println("結(jié)果 1: ", res1) fmt.Println("結(jié)果 2: ", res2) fmt.Println("結(jié)果 3: ", res3) fmt.Println("結(jié)果 4: ", res4) }
輸出:
字符串 1: Welcome to the online portal of nhooo 字符串 2: My dog name is Dollar 字符串 3: I like to play Ludo 索引值: 結(jié)果 1: 3 結(jié)果 2: 4 結(jié)果 3: -1 結(jié)果 4: 0