/**/

我有一根a_b_c_d_e的线.我想把它分成a_bc_d_e.什么是做这件事的好方法?

目前,我知道如何使用SplitN函数根据第一个下划线拆分字符串:

strings.SplitN(str, "_", 2)

如果字符串为a_b_c_d_e,则输出将为ab_c_d_e.

推荐答案

据我所知,你想要的东西并不存在.所以你只需要做你自己的:

package hello

func split(s string, sep rune, n int) (string, string) {
   for i, sep2 := range s {
      if sep2 == sep {
         n--
         if n == 0 {
            return s[:i], s[i+1:]
         }
      }
   }
   return s, ""
}

Go相关问答推荐

合并几千万文件最快的方法是什么

Go lang - 惯用的默认后备

递归数据 struct 解组在 Go Lang Protobuf 中给出错误“无法解析无效的线格式数据”

为什么 Go 中的 maps.Keys() 将 map 类型指定为 M?

将基本 HTTP AUth 用户/密码凭据存储在 GO 中,无需外部包

如果在调用 http.Get(url) 时发生错误,我们是否需要关闭响应对象?

go select语句的强制优先级

golang http panic 的全局恢复处理程序

*(*int)(nil) = 0 在 golang 中是什么意思?

json解组错误

Golang:是否使用 log.Println 登录文件处理并发访问

在 mongodb-go-driver 中,如何将 BSON marshal/unmarshal到struct中

Golang:我可以转换为 chan interface{}

Go安装二进制名称

Golang exec 进程并否认它

我将如何限制 golang 中服务器的上传和下载速度?

为什么 Go 没有计算整数绝对值的函数?

Postgres 中的 Go 和 IN 子句

使用 golang.org/x/oauth2 的 golang Facebook 身份验证

为什么 Go 不能按插入顺序迭代map?