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"]