Golang如何使用 strings.Trim 系列函数处理空格_Golang strings.Trim 字符串修剪方法总结

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 是字符集合,不是子串。只要首尾字符在这个集合里,就会被持续删除。

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 字符串不可变特性。