mirror of
https://gitee.com/johng/gf
synced 2026-06-06 02:25:47 +08:00
improve gstr.SplitAndTrim
This commit is contained in:
@ -446,11 +446,11 @@ func Split(str, delimiter string) []string {
|
||||
// and calls Trim to every element of this array. It ignores the elements
|
||||
// which are empty after Trim.
|
||||
func SplitAndTrim(str, delimiter string, characterMask ...string) []string {
|
||||
array := strings.Split(str, delimiter)
|
||||
for k, v := range array {
|
||||
array := make([]string, 0)
|
||||
for _, v := range strings.Split(str, delimiter) {
|
||||
v = Trim(v, characterMask...)
|
||||
if v != "" {
|
||||
array[k] = v
|
||||
array = append(array, v)
|
||||
}
|
||||
}
|
||||
return array
|
||||
@ -460,11 +460,11 @@ func SplitAndTrim(str, delimiter string, characterMask ...string) []string {
|
||||
// and calls TrimSpace to every element of this array.
|
||||
// Deprecated.
|
||||
func SplitAndTrimSpace(str, delimiter string) []string {
|
||||
array := strings.Split(str, delimiter)
|
||||
for k, v := range array {
|
||||
array := make([]string, 0)
|
||||
for _, v := range strings.Split(str, delimiter) {
|
||||
v = strings.TrimSpace(v)
|
||||
if v != "" {
|
||||
array[k] = v
|
||||
array = append(array, v)
|
||||
}
|
||||
}
|
||||
return array
|
||||
|
||||
@ -176,6 +176,22 @@ func Test_ChunkSplit(t *testing.T) {
|
||||
})
|
||||
}
|
||||
|
||||
func Test_SplitAndTrim(t *testing.T) {
|
||||
gtest.Case(t, func() {
|
||||
s := `
|
||||
|
||||
010
|
||||
|
||||
020
|
||||
|
||||
`
|
||||
a := gstr.SplitAndTrim(s, "\n", "0")
|
||||
gtest.Assert(len(a), 2)
|
||||
gtest.Assert(a[0], "1")
|
||||
gtest.Assert(a[1], "2")
|
||||
})
|
||||
}
|
||||
|
||||
func Test_Fields(t *testing.T) {
|
||||
gtest.Case(t, func() {
|
||||
gtest.Assert(gstr.Fields("我爱 Go Frame"), []string{
|
||||
|
||||
Reference in New Issue
Block a user