如何在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

更新于:2022年3月3日

4K+ 次浏览

开启你的职业生涯

完成课程获得认证

开始学习
广告