如何在Go语言中分割字符串?
字符串分割是指能够获取字符串的一部分,这部分可以基于字符串中的位置或字符。
在Go语言中,如果我们想基于位置分割字符串,可以使用**[ ]**(方括号),然后在其中传递用冒号分隔的索引。
语法
请考虑以下所示的语法。
sl[startingIndex : EndingIndex]
需要注意的是,切片中**结束索引**处的元素不会被考虑,因为范围是从**起始索引**到**(结束索引-1)**。
示例1
现在,让我们考虑一个基于不同位置分割字符串的示例。
请考虑以下所示的代码。
package main import ( "fmt" ) func main() { var secretString string = "this is a top secret string" res := secretString[0:10] res2 := secretString[:5] res3 := secretString[10:] fmt.Println(res, res2, res3) }
输出
如果我们在上述代码中运行命令**go run main.go**,则将在终端中获得以下输出。
this is a this top secret string
示例2
我们也可以基于特定字符在Go语言中分割字符串。请考虑以下所示的代码。
package main import ( "fmt" "reflect" "strings" ) func main() { var secretString string = "this is not a top secret string" res := strings.Split(secretString, "n") checkType := reflect.TypeOf(res) fmt.Println(res) fmt.Println(checkType) }
在上面的例子中,我们基于字符“n”分割字符串。这将产生一个切片,其中包含两个值,第一个包含在字符'n'之前出现的所有字符,然后是'n'之后的所有字符。
输出
如果我们在上述代码中运行命令**go run main.go**,则将在终端中获得以下输出。
[this is ot a top secret stri g] []string
广告