mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
strings.Split: make the default to split all.
Change the signature of Split to have no count, assuming a full split, and rename the existing Split with a count to SplitN. Do the same to package bytes. Add a gofix module. R=adg, dsymonds, alex.brainman, rsc CC=golang-dev https://golang.org/cl/4661051
This commit is contained in:
parent
82a8afdf14
commit
ebb1566a46
60 changed files with 296 additions and 120 deletions
|
|
@ -212,24 +212,38 @@ func genSplit(s, sep []byte, sepSave, n int) [][]byte {
|
|||
return a[0 : na+1]
|
||||
}
|
||||
|
||||
// Split slices s into subslices separated by sep and returns a slice of
|
||||
// SplitN slices s into subslices separated by sep and returns a slice of
|
||||
// the subslices between those separators.
|
||||
// If sep is empty, SplitN splits after each UTF-8 sequence.
|
||||
// The count determines the number of subslices to return:
|
||||
// n > 0: at most n subslices; the last subslice will be the unsplit remainder.
|
||||
// n == 0: the result is nil (zero subslices)
|
||||
// n < 0: all subslices
|
||||
func SplitN(s, sep []byte, n int) [][]byte { return genSplit(s, sep, 0, n) }
|
||||
|
||||
// SplitAfterN slices s into subslices after each instance of sep and
|
||||
// returns a slice of those subslices.
|
||||
// If sep is empty, SplitAfterN splits after each UTF-8 sequence.
|
||||
// The count determines the number of subslices to return:
|
||||
// n > 0: at most n subslices; the last subslice will be the unsplit remainder.
|
||||
// n == 0: the result is nil (zero subslices)
|
||||
// n < 0: all subslices
|
||||
func SplitAfterN(s, sep []byte, n int) [][]byte {
|
||||
return genSplit(s, sep, len(sep), n)
|
||||
}
|
||||
|
||||
// Split slices s into all subslices separated by sep and returns a slice of
|
||||
// the subslices between those separators.
|
||||
// If sep is empty, Split splits after each UTF-8 sequence.
|
||||
// The count determines the number of subslices to return:
|
||||
// n > 0: at most n subslices; the last subslice will be the unsplit remainder.
|
||||
// n == 0: the result is nil (zero subslices)
|
||||
// n < 0: all subslices
|
||||
func Split(s, sep []byte, n int) [][]byte { return genSplit(s, sep, 0, n) }
|
||||
// It is equivalent to SplitN with a count of -1.
|
||||
func Split(s, sep []byte) [][]byte { return genSplit(s, sep, 0, -1) }
|
||||
|
||||
// SplitAfter slices s into subslices after each instance of sep and
|
||||
// SplitAfter slices s into all subslices after each instance of sep and
|
||||
// returns a slice of those subslices.
|
||||
// If sep is empty, Split splits after each UTF-8 sequence.
|
||||
// The count determines the number of subslices to return:
|
||||
// n > 0: at most n subslices; the last subslice will be the unsplit remainder.
|
||||
// n == 0: the result is nil (zero subslices)
|
||||
// n < 0: all subslices
|
||||
func SplitAfter(s, sep []byte, n int) [][]byte {
|
||||
return genSplit(s, sep, len(sep), n)
|
||||
// If sep is empty, SplitAfter splits after each UTF-8 sequence.
|
||||
// It is equivalent to SplitAfterN with a count of -1.
|
||||
func SplitAfter(s, sep []byte) [][]byte {
|
||||
return genSplit(s, sep, len(sep), -1)
|
||||
}
|
||||
|
||||
// Fields splits the array s around each instance of one or more consecutive white space
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue