拉莫斯之舞
我有一个字符串a_b_c_d_e。我想将它拆分为a_band c_d_e。包中strings有一个Cut函数// Cut slices s around the first instance of sep,// returning the text before and after sep.// The found result reports whether sep appears in s.// If sep does not appear in s, cut returns s, "", false.将函数的代码分叉Cut为Cut2package mainimport ( "fmt" "strings")// Cut2 slices s around the second instance of sep,// returning the text before and after sep.// The found result reports whether sep appears twice in s.// If sep does not appear twice in s, Cut2 returns s, "", false.func Cut2(s, sep string) (before, after string, found bool) { if i := strings.Index(s, sep); i >= 0 { i += len(sep) if j := strings.Index(s[i:], sep); j >= 0 { i += j return s[:i], s[i+len(sep):], true } } return s, "", false}func main() { s := "a_b_c_d_e" fmt.Println(s) fmt.Println(Cut2(s, "_"))}https://go.dev/play/p/6-OBBU70snQa_b_c_d_ea_b c_d_e true