Golang - 将字符串拆分成最多 N 个部分?

Golang - split string into at most N parts?

代码与问题

// parse request,
parts := strings.Split(message, ",")
uuid := parts[0]
data := parts[1]

上面的代码将 message 拆分为 ,,我实际上想要 2 个部分。
但是data部分本身可能包含,,所以可能会拆分成2个以上的部分


例如

我想拆分字符串:
"19177360-2765-4597-a58e-519783a0d51d,a,b,c"
进入:
["19177360-2765-4597-a58e-519783a0d51d", "a,b,c"]
不是:
["19177360-2765-4597-a58e-519783a0d51d""a""b""c"]


可能的解决方案

strings.Split(message, ","),它分成了4个部分。
我可以先搜索 ,,然后手动获取子字符串。


问题

但是有没有一个方便的函数来指定最大 N 部分将字符串拆分成。

JavaString这样的内置方法,string有没有类似的Go库?

谢谢。

strings.SplitN是你要的函数,第三个参数是你要拆分的部分数:

arrayString := strings.SplitN(message, ",", 2)
// arrayString[0] = 19177360-2765-4597-a58e-519783a0d51d
// arrayString[1] = a,b,c