strings.Split 是 Go 中按分隔符分割字符串的常用函数,接收字符串和分隔符,返回字符串切片;空分隔符将每个 Unicode 字符单独拆分,未匹配分隔符时返回原字符串切片。
在 Go 语言中,strings.Split 是处理字符串分割最常用的方法之一。当你需要将一个字符串按照某个分隔符拆分成多个部分时,这个函数非常实用。比如解析 CSV 数据、处理路径、提取参数等场景都会用到。
函数定义如下:
func Split(s, sep string) []string它接收两个参数:要拆分的字符串 s 和 分隔符 sep,返回一个字符串切片。即使分隔符在字符串中不存在,也会返回包含原字符串的切片。如果分隔符为空字符串(""),则会将每个字符单独拆分。
示例:
package main使用 Split 时需要注意一些边界情况:
示例对比:
fmt.Println(strings.Split("hello", "x")) // [hello]如果你希望限制拆分次数,可以使用 strings.SplitN。它的第三个参数 n 表示最多拆分成几部分。
func SplitN(s, sep string, n int) []string当 n > 0 时,最多返回 n 个元素;n == 0 时,不进行任何拆分(返回空切片);n
例如:
text := "a,b,c,d"这在只需要提取前几个字段时很有用,比如解析日志行中的时间与剩余内容。
实际开发中,Split 经常用于以下场景:
小技巧:结合 strings.TrimSpace 可以去除拆分后元素的空格
:
基本上就这些。掌握好 strings.Split 及其变体,能让你更高效地处理文本数据。不复杂但容易忽略细节。