在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'