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
|
|
@ -198,24 +198,38 @@ func genSplit(s, sep string, sepSave, n int) []string {
|
|||
return a[0 : na+1]
|
||||
}
|
||||
|
||||
// Split slices s into substrings separated by sep and returns a slice of
|
||||
// SplitN slices s into substrings separated by sep and returns a slice of
|
||||
// the substrings between those separators.
|
||||
// If sep is empty, SplitN splits after each UTF-8 sequence.
|
||||
// The count determines the number of substrings to return:
|
||||
// n > 0: at most n substrings; the last substring will be the unsplit remainder.
|
||||
// n == 0: the result is nil (zero substrings)
|
||||
// n < 0: all substrings
|
||||
func SplitN(s, sep string, n int) []string { return genSplit(s, sep, 0, n) }
|
||||
|
||||
// SplitAfterN slices s into substrings after each instance of sep and
|
||||
// returns a slice of those substrings.
|
||||
// If sep is empty, SplitAfterN splits after each UTF-8 sequence.
|
||||
// The count determines the number of substrings to return:
|
||||
// n > 0: at most n substrings; the last substring will be the unsplit remainder.
|
||||
// n == 0: the result is nil (zero substrings)
|
||||
// n < 0: all substrings
|
||||
func SplitAfterN(s, sep string, n int) []string {
|
||||
return genSplit(s, sep, len(sep), n)
|
||||
}
|
||||
|
||||
// Split slices s into all substrings separated by sep and returns a slice of
|
||||
// the substrings between those separators.
|
||||
// If sep is empty, Split splits after each UTF-8 sequence.
|
||||
// The count determines the number of substrings to return:
|
||||
// n > 0: at most n substrings; the last substring will be the unsplit remainder.
|
||||
// n == 0: the result is nil (zero substrings)
|
||||
// n < 0: all substrings
|
||||
func Split(s, sep string, n int) []string { return genSplit(s, sep, 0, n) }
|
||||
// It is equivalent to SplitN with a count of -1.
|
||||
func Split(s, sep string) []string { return genSplit(s, sep, 0, -1) }
|
||||
|
||||
// SplitAfter slices s into substrings after each instance of sep and
|
||||
// SplitAfter slices s into all substrings after each instance of sep and
|
||||
// returns a slice of those substrings.
|
||||
// If sep is empty, Split splits after each UTF-8 sequence.
|
||||
// The count determines the number of substrings to return:
|
||||
// n > 0: at most n substrings; the last substring will be the unsplit remainder.
|
||||
// n == 0: the result is nil (zero substrings)
|
||||
// n < 0: all substrings
|
||||
func SplitAfter(s, sep string, n int) []string {
|
||||
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 string) []string {
|
||||
return genSplit(s, sep, len(sep), -1)
|
||||
}
|
||||
|
||||
// Fields splits the string s around each instance of one or more consecutive white space
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue