第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

Go:用逗號(hào)分割字符串,但忽略雙引號(hào)內(nèi)的逗號(hào)

Go:用逗號(hào)分割字符串,但忽略雙引號(hào)內(nèi)的逗號(hào)

Go
MMTTMM 2023-08-14 14:47:38
我輸入了用逗號(hào)分隔的字符串。但它可能包含雙引號(hào)內(nèi)的逗號(hào),需要忽略。下面是示例字符串str := "\"age\": \"28\", \"favorite number\": \"26\", \"salary\": \"$1,234,108\""下面是我用逗號(hào)分割的代碼,但當(dāng)逗號(hào)是雙引號(hào)中字符串的一部分時(shí),它會(huì)失敗。s1 := strings.Split(s, "\"") s2 := strings.Join(s1, "") s3 := strings.Split(s2, ",")所以任何想法如何解決這個(gè)問題。
查看完整描述

2 回答

?
largeQ

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。


查看完整回答
反對(duì) 回復(fù) 2023-08-14
?
肥皂起泡泡

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)上奔跑



查看完整回答
反對(duì) 回復(fù) 2023-08-14
  • 2 回答
  • 0 關(guān)注
  • 289 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)