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