python字符串的概念_【详解】python中字符串的strip(),lstrip(),rstrip()的含义

【问】Hi Crifan,

我在http://bbs.csdn.net/topics/390361293 里看到抓取网易公开课的脚本,我看了下,感觉还比较简单,但是有一处不是很理解

它在 获取课程名称的时候用到以下代码,

fileName=name.contents[0].strip() .lstrip() .rstrip(‘,’) + name.a.string.strip() .lstrip() .rstrip(‘,’)

我在网上搜了下 ,

【解答】

主要是:string.lstrip(s[, chars])Return a copy of the string with leading characters removed. If chars is omitted or None, whitespace characters are removed. If given and not None, chars must be a string; the characters in the string will be stripped from the beginning of the string this method is called on.

Changed in version 2.2.3: The chars parameter was added. The chars parameter cannot be passed in earlier 2.2 versions.string.rstrip(s[, chars])Return a copy of the string with trailing characters removed. If chars is omitted or None, whitespace characters are removed. If given and not None, chars must be a string; the characters in the string will be stripped from the end of the string this method is called on.

Changed in version 2.2.3: The chars parameter was added. The chars parameter cannot be passed in earlier 2.2 versions.string.strip(s[, chars])Return a copy of the string with leading and trailing characters removed. If chars is omitted or None, whitespace characters are removed. If given and not None, chars must be a string; the characters in the string will be stripped from the both ends of the string this method is called on.

Changed in version 2.2.3: The chars parameter was added. The chars parameter cannot be passed in earlier 2.2 versions.

其中很明显的是:lstrip = left strip =去除(字符串)左边的=stip leading=去除(字符串)开始的

rstrip = right strip =去除(字符串)右边的=strip trailling=去除(字符串)末尾的

strip = stip left and right = 去除(字符串的)左边的和右边的=strip leading and trailing = 去除(字符串)开始的和末尾的

针对strip的详细解释,翻译过来,就是:

对于输入的字符串,去除,开始的,和,末尾的,字符;

所要去除的字符,是你通过参数chars所指定的。

如果不指定该参数,或者为None,

(即形式为:someStringValue.strip()

或someStringValue.strip(None)

或someStringValue.strip(chars=None)

则默认为白空格Whitespace。

所谓的白空格,一般指的是:

空格本身,回车\r,换行\n,制表符\t, 换页符\f

(对应于正则表达式中的: \s == [ \r\n\t\f] )

所以,很明显的是:someString.strip() == someString.lstrip().rstrip()

而关于此处的:name.contents[0].strip() .lstrip() .rstrip(‘,’)

我觉得是,其多写了个lstrip(),应该改成:name.contents[0].strip().rstrip(‘,’)

其等价于name.contents[0].strip(None).rstrip(‘,’)

意思是

对于name.contents[0],

先去除首尾(即头部和尾部)的白空格(空格本身,回车\r,换行\n,制表符\t, 换页符\f )

之后,再去除尾部的逗号’,’

假如,原先字符串是:" some string value,,, "

经过这么一处理,则很明显,去除首尾的白空格后,再去除尾部的逗号,就变成了:"some string value"

了。

进一步举例说明:

strip一般用来是去除一个字符的首尾的多余的,不可见的字符(所谓的白空格)。

比如一个字符是:

demoStr = " hello wold ! "

那么:demoStr.lstrip() = 去除left左边的白空格 = "hello wold ! "

demoStr.rstrip() = 去除right右边的白空格 = " hello wold !"

demoStr.strip() = demoStr.lstrip().rstrip()=去除left左边和right右边=去除首尾的白空格="hello wold !"

这下明白了吧?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值