前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Go语言中常见100问题-#38 Misusing trim functions

Go语言中常见100问题-#38 Misusing trim functions

作者头像
数据小冰
发布2023-08-17 08:33:11
1300
发布2023-08-17 08:33:11
举报
文章被收录于专栏:数据小冰数据小冰
误用trim函数

很多Gopher常犯的一个错误是混合使用strings包中的 TrimRight 和 TrimSuffix 函数,因为这个两个函数提供的功能相似,极容易产生误用。下面通过具体的例子说明。

下面的代码使用 TrimRight 函数,这段代码的输出结果是啥?结果是123. 你猜想的也是123吗?如果不是,大概率你把TrimRight当成了TrimSuffix。

代码语言:javascript
复制
fmt.Println(strings.TrimRight("123oxo", "xo"))

TrimRight函数接收两个字符串参数,分别命名为字符串1和字符串2,它实现的功能是从字符串1的右边开始,且从右到左中间不包含其它字符的前提下,找到包含字符串2中所有的字符组合的部分将其删除,如果从右到左的过程中,遇到其它字符,则停止检索删除。

上面的代码中,字符串2是xo,包含x和o两个字符,所以从右向左在字符串123oxo中检索包含x和o的字符,并它将它们删除,检索过程遇到3停止。

TrimSuffix实现的功能是字符串后缀匹配截断,下面的代码输出结果是123o。因为123oxo以xo结尾。注意,该过程不是重复操作。例如,TrimSuffix("123xoxo", "xo")输出的结果是123xo.

代码语言:javascript
复制
fmt.Println(strings.TrimSuffix("123oxo", "xo"))

上述实现规则同样适用于 TrimLeft 和 TrimPrefix函数。

代码语言:javascript
复制
fmt.Println(strings.TrimLeft("oxo123", "ox")) // 123
fmt.Println(strings.TrimPrefix("oxo123", "ox")) /// o123

最后来分析 Trim 函数,该函数结合了 TrimLeft 和 TrimRight 两个函数功能,它将字符串中开头和结尾中含有裁剪的字符都去掉。下面的函数将字符串oxo123oxo开头和结尾中含有的字符o和x都去掉。输出的内容是123。

代码语言:javascript
复制
fmt.Println(strings.Trim("oxo123oxo", "ox")) // 123
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2023-06-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据小冰 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 误用trim函数
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档