取一个字符串并将其拆分为Golang中的字符串数组

问题描述 投票:-2回答:1

我试图取一个数组并将其拆分为一个字符串数组,这是我的代码:

if split != "" {

    for i := 0; i < len(split); i++ {

        for j := 0; j < len(split); j += 0 {

            splits := []byte(split)

            if splits[i] == ' ' {


                result := split[i] - split[j]

                for k := 0; k <= i; k++ {

                    fitting := make([]byte, result)
                    fitting[k] = splits[k]
                    fmt.Println(fitting[k])

                    if k > i-1 {

                        fittings := string(fitting[:])
                        word := []string{}
                        words := append(word, fittings)
                        fmt.Println(split, words)
                    }
                }

            }
        }
    }
}
return Strings(split)

这是我的测试用例:

fmt.Println(actual, expected)

for i := 0; i < len(expected); i++ {

    if actual[i] != expected[i] {
        t.Errorf("does not match")
        t.Fail()
    }

}
}

它们都没有真正起作用。

go
1个回答
2
投票

我只需要知道我怎么可能拿一个字符串如“hi li le”并将其变成一个字符串数组,如[“hi”,“li”,“le”]

是的strings.Splitstrings.Fields

for _, word := range strings.Fields("hi li le") {
    fmt.Println(word)
}

这是一种手动操作的方法,用于说明。

func split(tosplit string, sep rune) []string {
    var fields []string

    last := 0
    for i,c := range tosplit {
        if c == sep {
            // Found the separator, append a slice
            fields = append(fields, string(tosplit[last:i]))
            last = i + 1
        } 
    }

    // Don't forget the last field
    fields = append(fields, string(tosplit[last:]))

    return fields
}

func main() {
    str := "hello world stuff"
    for _,field := range split(str, ' ') {
        fmt.Println(field)
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.