SplitAfterN
SplitAfterN用从s中出现的sep后面切断的方式进行分割,会分割到结尾,并返回生成的所有片段组成的切片(每一个sep都会进行一次切割,即使两个sep相邻,也会进行两次切割)。
SplitAfterN
函数定义
func SplitAfterN(s, sep string, n int) []string
如果sep为空字符,Split会将s切分成每一个unicode码值一个字符串。参数n决定返回的切片的数目:
- n > 0 : 返回的切片最多n个子字符串;最后一个子字符串包含未进行切割的部分。
- n == 0: 返回nil
- n < 0 : 返回所有的子字符串组成的切片
代码示例
package main
import (
"fmt"
"strings"
)
func main() {
fmt.Printf("%q\n", strings.SplitAfterN("a,b,c", ",", 2))
fmt.Printf("%q\n", strings.SplitAfterN("a,b,c", ",", 1))
fmt.Printf("%q\n", strings.SplitAfterN("a,b,c", ",", 0))
fmt.Printf("%q\n", strings.SplitAfterN("a,b,c", ",", -1))
}
// Output:
// ["a," "b,c"]
// ["a,b,c"]
// []
// ["a," "b," "c"]