三行代码  ›  专栏  ›  技术社区  ›  user218867 ttrasn

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

  •  1
  • user218867 ttrasn  · 技术社区  · 1 周前

    守则及;问题

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

    message 通过 , ,我实际上想要两个零件。
    但是 数据 零件本身可能包含 ,


    例如

    我要拆分字符串:
    "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 要将字符串拆分为的部分。

    Java 有这样的内置方法吗 String ,有类似的吗 Go 图书馆 string ?

    1 回复  |  直到 1 周前
        1
  •  3
  •   user218867 ttrasn    1 周前

    strings.SplitN 是您想要的函数,第三个参数是要拆分的零件数:

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