前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >小心,Python 中的 strip 方法容易把字符串削成"秃子"!

小心,Python 中的 strip 方法容易把字符串削成"秃子"!

作者头像
用户4945346
发布2024-05-09 14:23:34
650
发布2024-05-09 14:23:34
举报
文章被收录于专栏:pythonista的日常pythonista的日常

在Python中,处理字符串时经常会用到 strip、lstrip 和 rstrip 这三个方法,它们主要用于去除字符串中的空格。

例如,如果你想去除字符串左边的空格,可以使用 lstrip 方法:

代码语言:javascript
复制
In [4]: "    pythonista daily     ".lstrip()
Out[4]: 'pythonista daily     '

如果你想去除字符串两边的空格,可以使用 strip 方法:

代码语言:javascript
复制
In [5]: "    pythonista daily     ".strip()
Out[5]: 'pythonista daily'

如果你想去除字符串右边的空格,可以使用 rstrip 方法

代码语言:javascript
复制
In [7]: "    pythonista daily     ".rstrip()
Out[7]: '    pythonista daily'

这些 (l/r)strip 方法还可以传入一个字符串作为参数,比如,如果你想从 pythonista daily 中删除" daily" ,你可能会尝试使用下面的代码

代码语言:javascript
复制
In [1]: s="pythonista daily"

In [2]: s.rstrip(" daily")

一般人会认为输出结果是 pythonista ,但是实际结果是 pythonist,还额外删除了 'a'

代码语言:javascript
复制
In [1]: s="pythonista daily"

In [2]: s.rstrip(" daily")
Out[2]: 'pythonist'

这是因为 (l/r)strip 方法接收的是字符集

即从 pythonista daily 这个字符串右侧向左遍历,如果遍历的元素在传入的字符集中都则都会被移除,上面的这几个元素依次是 y,l,i,a,d, ,a 都在 " daily"中,所以实际结果是 pythonist

如果要实现准确删除 " daily" 可以使用 .removesuffix() 方法

代码语言:javascript
复制
In [11]: "pythonista daily".removesuffix(" daily")
Out[11]: 'pythonista'

对于处理字符串左边内容对应使用 removeprefix() 方法,这俩 remove* 方法最多只会删除字符串的一个实例内容

代码语言:javascript
复制
In [10]: "pythonista daily daily".removesuffix(" daily")
Out[10]: 'pythonista daily'
本文参与?腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2024-05-04,如有侵权请联系?cloudcommunity@tencent.com 删除

本文分享自 pythonista的日常 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com