2 回答

TA贡献1757条经验 获得超7个赞
实际上,您当前的实现似乎很好。
您不能使用 JSON 取消封口,因为 JSON 字符串必须括在双引号中。"
而是字符串。字段
就是这样做的,它会在一个或多个匹配的字符上拆分字符串,即 、 、 。和。unicode.IsSpace
\t
\n
\v
\f
\r
如果地形图形式发送一个空集,如 中所述,Moeover 也有效:[]
返回 [...] 如果 s 仅包含空格,则返回一个空片。
...这包括完全空旷的情况。s
""
如果您需要对此进行其他控制,则可以使用字符串。FieldsFunc
,它接受类型的函数,因此您可以自己确定构成“空间”的内容。但是,由于您的输入字符串来自terraform,我想它会表现得足够好。func(rune) bool
可能有第三方包已经实现了此功能,但除非您的程序已经导入了它们,否则我认为基于标准库的本机解决方案始终是首选。
unicode.IsSpace
实际上还包括更高的符文和,在这种情况下调用0x85
0xA0
strings.Fields
FieldsFunc(s, unicode.IsSpace)

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
- 2 回答
- 0 关注
- 80 浏览
添加回答
举报