拆分字符串意味着能够获取字符串的一部分,该部分可以基于字符串中的位置或字符。
在 Go 中,如果我们想根据位置拆分字符串,我们可以使用[](方括号),然后传递其中以冒号分隔的索引。
语法
考虑下面显示的语法。
sl[startingIndex : EndingIndex]
需要注意的是,切片中EndingIndex处的元素不会被考虑,因为范围是从startingIndex到(EndingIndex−1)。
示例 1
现在,让我们考虑一个示例,我们将根据不同的位置拆分字符串。
考虑下面显示的代码。
package mainimport (
"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 mainimport (
"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' 之前的所有字符,然后是它之后的所有字符。
输出结果
如果我们在上面的代码中运行 go run main.go命令,那么我们将在终端中得到以下输出。
[this is ot a top secret stri g] []string