python中strip(),lstrip(),rstrip()函数的使用讲解
【摘要】 1. strip()它的函数原型:string.strip(s[, chars]),它返回的是字符串的副本,并删除前导和后缀字符。(意思就是你想去掉字符串里面的哪些字符,那么你就把这些字符当参数传入。此函数只会删除头和尾的字符,中间的不会删除。)如果strip()的参数为空,那么会默认删除字符串头和尾的空白字符(包括\n,\r,\t这些)。1234567#这里注意字符串a的两端都有一个空白字...
1. strip()
它的函数原型:string.strip(s[, chars]),它返回的是字符串的副本,并删除前导和后缀字符。(意思就是你想去掉字符串里面的哪些字符,那么你就把这些字符当参数传入。此函数只会删除头和尾的字符,中间的不会删除。)如果strip()的参数为空,那么会默认删除字符串头和尾的空白字符(包括\n,\r,\t这些)。
1
2
3
4
5
6
7
|
#这里注意字符串a的两端都有一个空白字符,字符a和n之间也有一个。
a = " \rzha ng\n\t "
print ( len (a))
b = a.strip()
print (b)
print ( len (b))
|
输出:
11
zha ng
6
当参数为空的时候,两端的空白符,\r,\n,\t都被删除了,但是中间的那个空白符没动。我们看下当有参数的时候是什么情况:
1
2
3
|
a = "rrbbrrddrr"
b = a.strip( "r" )
print (b)
|
输出:bbrrdd
中间的字符r没动,两端的都删除了,现在来看看我们传入多个字符参数的情况:
1
2
3
4
5
6
7
|
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
从这个代码看出什么了吗?可能和你想的不一样,当你传的参数不管是“abc”还是abc的其他排列形式,这都不重要,重要的是函数只知道你要删除的字符是”a”,”b”,”c”。函数会把你传的参数拆解成一个个的字符,然后把头尾的这些字符去掉。明白了吧!
2. lstrip()和rstrip()
这两个函数和上面的strip()基本是一样的,参数结构也一样,只不过一个是去掉左边的(头部),一个是去掉右边的(尾部)。
1
2
3
|
a = " zhangkang "
print (a.lstrip(), len (a.lstrip()))
print (a.rstrip(), len (a.rstrip()))
|
输出:
('zhangkang ', 10)
(' zhangkang', 10)
当没有参数的时候,一个去掉了左边的空白,一个去掉了右边的空白。当传参数的时候:
1
2
3
|
a = "babacb111baccbb"
print (a.lstrip( "abc" ))
print (a.rstrip( "abc" ))
|
输出:
111baccbb
babacb111
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)