Go 语言中SplitByChars 方法
在 Go 语言中,标准库中的 strings 包并没有直接提供一个按照多个字符分割字符串的函数,类似于 C# 中的 split() 函数,该函数可以指定多个分隔符。但是,你可以通过一些组合函数和逻辑来实现相同的效果
// SplitByChars splits the string s by any of the characters in the separator slice.
func SplitByChars(s string, separators ...rune) []string {var result []stringif separators == nil || len(separators) == 0 {result = append(result, s)return result}start := 0for i, r := range s {// 检查当前字符是否是分隔符之一isSeparator := falsefor _, sep := range separators {if r == sep {isSeparator = truebreak}}if isSeparator {// 如果是分隔符,添加从开始到当前位置(不包括分隔符)的子字符串到结果切片if start < i {result = append(result, s[start:i])}// 更新起始位置为当前位置+1(即跳过分隔符)start = i + 1}}// 添加最后一个部分(如果存在)if start < len(s) {result = append(result, s[start:])}return result
}