strings.Trim系列函数用于去除字符串首尾字符,其中Trim删除指定字符集,TrimLeft/Right单侧裁剪,TrimSpace清除Unicode空白,TrimPrefix/Suffix精确匹配并删除前后缀,均返回新字符串。

在 Golang 中,strings.Trim 系列函数是处理字符串前后空白或特定字符的常用工具。它们属于 strings 包,能有效去除字符串首尾不需要的内容,尤其适用于用户输入清洗、文本格式化等场景。
strings.Trim:去除指定字符集
strings.Trim(s, cutset) 会移除字符串 s 开头和结尾中出现在 cutset 中的所有字符,不限于空格。
例如:
-
strings.Trim(" hello ", " ")→"hello" -
strings.Trim("!!!hello!!!", "!")→"hello" -
strings.Trim("abccba", "abc")→""(全部被裁剪)
注意:cutset 是字符集合,不是子串。只要首尾字符在这个集合里,就会被持续删除。
立即学习“go语言免费学习笔记(深入)”;
strings.TrimLeft 和 strings.TrimRight:单侧裁剪
这两个函数分别只处理左侧或右侧:
- strings.TrimLeft(s, cutset):去掉左边匹配 cutset 的字符
- strings.TrimRight(s, cutset):去掉右边匹配 cutset 的字符
示例:
-
strings.TrimLeft(" hello", " ")→"hello" -
strings.TrimRight("hello ", " ")→"hello"
strings.TrimSpace:专门处理空白字符
这是最常用的裁剪函数之一,用于去除字符串首尾所有 Unicode 定义的空白字符。
包括:普通空格、制表符 \t、换行符 \n、回车符 \r 等。
示例:
-
strings.TrimSpace(" \n\t hello world \r\n ")→"hello world"
适合清理用户输入,避免因多余空白导致比较失败或存储冗余。
strings.TrimPrefix 和 strings.TrimSuffix:按前缀/后缀裁剪
这两个函数不按字符集,而是精确匹配并删除指定的前缀或后缀字符串。
- strings.TrimPrefix(s, prefix):如果 s 以 prefix 开头,则删除它,否则原样返回
- strings.TrimSuffix(s, suffix):如果 s 以 suffix 结尾,则删除它,否则原样返回
示例:
-
strings.TrimPrefix("https://example.com", "https://")→"example.com" -
strings.TrimSuffix("data.txt", ".txt")→"data"
适用于 URL 处理、文件名提取等场景。
基本上就这些。根据需求选择合适的 Trim 方法:需要去空格用 TrimSpace,去特定字符用 Trim,单边操作用 TrimLeft/Right,精确匹配前后缀用 TrimPrefix/Suffix。这些函数都不会修改原字符串,而是返回新字符串,符合 Go 字符串不可变特性。









