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)
}
输出
如果我们在上述代码中运行命令 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 “之前出现的所有字符,然后是之后的所有字符。
输出
如果我们在上述代码中运行命令 go run main.go ,那么我们将在终端获得以下输出。
[this is ot a top secret stri g]
[]string