2 回答

TA貢獻(xiàn)2039條經(jīng)驗(yàn) 獲得超8個(gè)贊
以下功能將執(zhí)行您想要的操作。
// SplitAtCommas split s at commas, ignoring commas in strings.
func SplitAtCommas(s string) []string {
res := []string{}
var beg int
var inString bool
for i := 0; i < len(s); i++ {
if s[i] == ',' && !inString {
res = append(res, s[beg:i])
beg = i+1
} else if s[i] == '"' {
if !inString {
inString = true
} else if i > 0 && s[i-1] != '\\' {
inString = false
}
}
}
return append(res, s[beg:])
}
完整的示例可以在這里找到: https: //play.golang.org/p/f5jceIm4nbE。

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超6個(gè)贊
您可以使用下面的代碼來獲取鍵和值
package main
import (
"fmt"
"strings"
)
func main() {
str := "\"age\": \"28\", \"favorite number\": \"26\", \"salary\": \"$1,234,108\""
arr := strings.Split(str,`",`)
for _, v := range arr {
val := strings.Split(v,`:`)
fmt.Println("Key:",val[0],"value:",val[1])
}
}
在操場(chǎng)上奔跑
- 2 回答
- 0 關(guān)注
- 289 瀏覽
添加回答
舉報(bào)