Python移除字符串空格、指定前后缀字符集、指定前后缀字符串

Python移除字符串空格、指定前后缀字符集、指定前后缀字符串

移除字符串前后空格函数strip()经常会用到,如果只移除前缀的空格或者后缀的空格就可以用lstrip()rstrip()

而且这三个函数还有一个可选的参数[chars],这个参数很少用但是很实用,可以传递一个字符串(后面也叫字符集),函数会根据传递的字符集对匹配的字符逐一剔除,直到遇到不包含在字符集内的字符结束。

去除空格函数

  • str.strip([chars]):移除字符串前后空格,或移除前后指定字符集内的字符。
  • str.lstrip([chars]):移除字符串前缀空格,或移除前缀指定字符集内的字符。
  • str.rstrip([chars]):移除字符串后缀空格,或移除后缀指定字符集内的字符。

str.strip([chars])

参考代码:https://gitee.com/hanhongwen/python-base/blob/master/py_function/fun_strip.py

strip()函数去除字符串前后的空格,也可以传入[chars]字符集(字符串),按照字符集内的字符逐一提出字符串前后与之匹配的字符,直到遇到匹配不一致的为止

# 移除字符串前后空格或者指定字符集

def fun_strip(input_str, chars=None) -> str:
    return input_str.strip(chars)


if __name__  == '__main__':
    # 在未传参的时候,剔除前后所有空格。
    strip_str = fun_strip("    this is strip.  ")
    print(strip_str, len(strip_str))   # this is strip. 14

    # 传参是sihtpi字符集,从前后剔除包含所有字符集的字符,直到未包含的字符为止。
    strip_str = fun_strip("this is strip", chars="sihtpi")  
    print(strip_str, len(strip_str))   #  is str 7

    # 传参是sihtp 字符集,这里注意一下有一个空格,所以从前和从后都会会匹配到strip的r字符才结束。
    strip_str = fun_strip(" this is strip ", chars="sihtp ")  
    print(strip_str, len(strip_str))   # r 1

str.lstrip([chars])

参考代码:https://gitee.com/hanhongwen/python-base/blob/master/py_function/fun_lstrip.py

lstrip()函数与strip()函用法一样,只不过区别是只对字符串的前缀有效,可以理解成left strip简写成lstrip。不做过多介绍,具体使用如下:

# 移除字符串前缀空格或者指定集合的字符

def fun_lstrip(input_str, chars=None) -> str:
    return input_str.lstrip(chars)


if __name__  == '__main__':
    # 在未传参的时候,剔除前缀的所有空格,保留后边的空格。
    lstrip_str = fun_lstrip("    this is lstrip.  ")
    print(lstrip_str, len(lstrip_str))   # this is lstrip.   17

    # 传参是siht字符集,从开始剔除包含所有字符集的字符,直到未包含的字符为止。
    lstrip_str = fun_lstrip("this is lstrip.", chars="siht")  
    print(lstrip_str, len(lstrip_str))   #  is lstrip.   11

    # 传参是siht 字符集,这里注意一下有一个空格,所以会匹配到lstrip的l字符才结束。
    lstrip_str = fun_lstrip("this is lstrip.", chars="siht ")  
    print(lstrip_str, len(lstrip_str))   # lstrip.   7
    

str.rstrip([chars])

参考代码:https://gitee.com/hanhongwen/python-base/blob/master/py_function/fun_rstrip.py

rstrip()函数与上述lstrip()函数同理,只对字符串的尾缀有效,right strip简写成rstrip。不做过多介绍,具体使用如下:

# 移除字符串后缀空格或者指定集合的字符

def fun_rstrip(input_str, chars=None) -> str:
    return input_str.rstrip(chars)


if __name__  == '__main__':
    # 在未传参的时候,剔除后缀的所有空格,保留左边的空格。
    rstrip_str = fun_rstrip("    this is rstrip.   ")
    print(rstrip_str, len(rstrip_str))   #     this is rstrip. 19

    # 传参是thrsi字符集,从后缀字符串中剔除包含所有字符集的字符,直到未包含的字符为止。
    rstrip_str = fun_rstrip("this is rstrip str", chars="rstpi")  
    print(rstrip_str, len(rstrip_str))   # this is rstrip  15

    # 传参是rstpi  字符集,这里注意一下有一个空格,所以会匹配到this的h字符才结束。
    rstrip_str = fun_rstrip("this is rstrip str", chars="rstpi ")  
    print(rstrip_str, len(rstrip_str))   # th 2
    

扩展removeprefix()和removesuffix()函数

strip()lstrip()rstrip()函数传递参数的时候会逐一匹配字符串内的字符,所以会有"this is rstrip str".lstrip(this )最终只返回rstrip str结果。

有时只需要剔除匹配与之一样的字符串就可以了,比如"this is rstrip str".lstrip(this )返回is rstrip str这时候就可以用到removeprefix()函数。与之相反可以用removesuffix()函数。

注:"this is rstrip str".lstrip(this )返回is rstrip str例子是错的哈。

str.removeprefix(prefix, /)

剔除字符串前缀开始与之匹配的字符串。

>>> 'TestHook'.removeprefix('Test')
'Hook'
>>> 'BaseTestCase'.removeprefix('Test')
'BaseTestCase'

str.removesuffix(suffix, /)

剔除字符串后缀开始与之匹配的字符串。

>>> 'MiscTests'.removesuffix('Tests')
'Misc'
>>> 'TmpDirMixin'.removesuffix('Tests')
'TmpDirMixin'
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我在那路边

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值