gpt4 book ai didi

go - 如何将复杂的字符串输入转换为map [string] [] string?

转载 作者:行者123 更新时间:2023-12-01 22:22:45 25 4
gpt4 key购买 nike

我想要一个字符串,并将其转换为map[string][]string。到目前为止,我已经能够将字符串转换为map [string] string,如下所示:

package main

import(
"fmt"
"strings"
)

func main(){
var m map[string]string
var ss []string

s := "Owner.RefObjectName: Owner1, Owner2, Owner3&ScheduleState:State1, State2"
ss = strings.Split(s, "&")

m = make(map[string]string)
for _, pair := range ss {
z := strings.Split(pair, ":")
m[z[0]] = z[1]
}
fmt.Println(m)
}

这给了我一个使用字符串键和字符串值的映射,如下所示:
map[Owner.RefObjectName: Owner1, Owner2, Owner3 ScheduleState:State1, State2]

但是,我需要将字符串值转换为字符串 slice ,因为我需要自己引用诸如Owner1之类的单个项。简而言之,我希望最终 map 看起来像这样:
m := map[string][]string{
"Owner.RefObjectName": {"Owner1", "Owner2", "Owner3"},
"ScheduleState": {"State1", "State2"},
}

其中Owner1 Owner2 Owner3不在单个字符串中,而是在字符串 slice 中。

最佳答案

用逗号进一步分割字符串:

    var m map[string][]string
// ...
m = make(map[string][]string)
for _, pair := range ss {
obj := strings.Split(pair, ":")
key := obj[0]
v := strings.Split(obj[1], ",")
m[key] = v
}

关于go - 如何将复杂的字符串输入转换为map [string] [] string?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61942456/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com