• python中strip(),lstrip(),rstrip()函数的讲解


     

     

    1. strip()

    它的函数原型:string.strip(s[, chars]),它返回的是字符串的副本,并删除前导和后缀字符。(意思就是你想去掉字符串里面的哪些字符,那么你就把这些字符当参数传入。此函数只会删除头和尾的字符,中间的不会删除。)如果strip()的参数为空,那么会默认删除字符串头和尾的空白字符(包括 , , 这些)。

    #这里注意字符串a的两端都有一个空白字符,字符a和n之间也有一个。
    a=" 
    zha ng
    	 "
    print(len(a))
    
    b=a.strip()
    print(b)
    print(len(b))
    
    输出:
    11
    zha ng
    6
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    当参数为空的时候,两端的空白符, , , 都被删除了,但是中间的那个空白符没动。我们看下当有参数的时候是什么情况:

    a="rrbbrrddrr"
    b=a.strip("r")
    print(b)
    
    输出:bbrrdd
    • 1
    • 2
    • 3
    • 4
    • 5

    中间的字符r没动,两端的都删除了,现在来看看我们传入多个字符参数的情况:

    a="aabcacb1111acbba"
    print(a.strip("abc"))
    print(a.strip("acb"))
    print(a.strip("bac"))
    print(a.strip("bca"))
    print(a.strip("cab"))
    print(a.strip("cba"))
    
    输出:
    1111
    1111
    1111
    1111
    1111
    1111
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    从这个代码看出什么了吗?可能和你想的不一样,当你传的参数不管是“abc”还是abc的其他排列形式,这都不重要,重要的是函数只知道你要删除的字符是”a”,”b”,”c”。函数会把你传的参数拆解成一个个的字符,然后把头尾的这些字符去掉。明白了吧!

    2. lstrip()和rstrip() 
    这两个函数和上面的strip()基本是一样的,参数结构也一样,只不过一个是去掉左边的(头部),一个是去掉右边的(尾部)。

    a=" zhangkang "
    print(a.lstrip(),len(a.lstrip()))
    print(a.rstrip(),len(a.rstrip()))
    
    输出:
    ('zhangkang ', 10)
    (' zhangkang', 10)
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    当没有参数的时候,一个去掉了左边的空白,一个去掉了右边的空白。当传参数的时候:

    a="babacb111baccbb"
    print(a.lstrip("abc"))
    print(a.rstrip("abc"))
    
    输出:
    111baccbb
    babacb111
  • 相关阅读:
    MSP430程序库<十四>DMA程序库
    MSP430程序库<十三>硬件乘法器使用
    MSP430程序库<十五>Flash控制器
    MSP430程序库<九>数码管显示
    [debug] 调试小结
    SourceInsight Shortcuts
    git commands
    Linux常用命令
    [转] 宏点滴
    Linux 开发
  • 原文地址:https://www.cnblogs.com/jeasonit/p/9804730.html
Copyright © 2020-2023  润新知