go - 获取一个字符串并将其拆分为 Golang 中的字符串数组
问题描述
我正在尝试获取一个数组并将其拆分为一个字符串数组,这是我的代码:
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()
}
}
}
没有一个是真正起作用的。
解决方案
我只需要知道我如何可能将诸如“hi li le”之类的字符串转换为诸如 ["hi","li","le"] 之类的字符串数组
是的strings.Split
或strings.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)
}
}
推荐阅读
- wpf - Why does Unity “RegisterInstance” function in Prism Framework cann't return a single instance?
- javascript - Photoshop Extendscript: How to var check currently opened files and execute commands for certain filenames
- hyperledger-fabric - 对等通道创建 - 仅评估失败 0 个策略得到满足 Hyperledger Fabric
- asp.net-core-mvc - Serilog:为每个请求创建和跟踪唯一的日志上下文?
- python - 如何通过对两列施加的多个标准删除 Pandas 数据框中的行?
- regex - 如何从用户当前使用的任何代码编辑器中获取文本?- 自动
- html - 未在函数内定义的变量
- reactjs - 在开发期间无法使用 Webpack4 访问 %PUBLIC_URL%/favicon.ico
- database - Laravel 5.5 + MongoDb Atlas 集群
- java - eclipse "导入静态 org.lwjgl.glfw.GLFW.*;" 破包