亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何將泰拉form字符串集的字符串表示形式轉換為字符串切片

如何將泰拉form字符串集的字符串表示形式轉換為字符串切片

Go
嚕嚕噠 2022-10-04 16:36:28
我有一個地球測試,我從這樣的地球形態中獲得輸出。地球形式輸出的 ,它是一組字符串。s := "[a b]"value = toset([resource.name])顯然返回字符串。我需要迭代以執行進一步的驗證。fmt.Printf("%T", s)我嘗試了下面的方法,但錯誤!var v interface{}if err := json.Unmarshal([]byte(s), &v); err != nil {    fmt.Println(err)}我當前要轉換為切片的實現是:s := "[a b]"s1 := strings.Fields(strings.Trim(s, "[]"))for _, v:= range s1 {    fmt.Println("v -> " + v)}尋找當前方法的建議或我應該考慮的轉換為arr /切片的替代方法。感謝任何輸入。謝謝。
查看完整描述

2 回答

?
長風秋雁

TA貢獻1757條經驗 獲得超7個贊

實際上,您當前的實現似乎很好。

您不能使用 JSON 取消封口,因為 JSON 字符串必須括在雙引號中。"

而是字符串。字段就是這樣做的,它會在一個或多個匹配的字符上拆分字符串,即 、 、 。和。unicode.IsSpace\t\n\v\f\r

如果地形圖形式發送一個空集,如 中所述,Moeover 也有效:[]

返回 [...] 如果 s 僅包含空格,則返回一個空片。

...這包括完全空曠的情況。s""

如果您需要對此進行其他控制,則可以使用字符串。FieldsFunc,它接受類型的函數,因此您可以自己確定構成“空間”的內容。但是,由于您的輸入字符串來自terraform,我想它會表現得足夠好。func(rune) bool

可能有第三方包已經實現了此功能,但除非您的程序已經導入了它們,否則我認為基于標準庫的本機解決方案始終是首選。


unicode.IsSpace實際上還包括更高的符文和,在這種情況下調用0x850xA0strings.FieldsFieldsFunc(s, unicode.IsSpace)


查看完整回答
反對 回復 2022-10-04
?
拉丁的傳說

TA貢獻1789條經驗 獲得超8個贊

package main


import (

    "fmt"

    "strings"

)


func main() {

    src := "[a b]"

    dst := strings.Split(src[1:len(src)-1], " ")

    fmt.Println(dst)

}

https://play.golang.org/p/KVY4r_8RWv6


查看完整回答
反對 回復 2022-10-04
  • 2 回答
  • 0 關注
  • 104 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號