首页 > 代码库 > python中strip()函数的理解

python中strip()函数的理解

1、strip()函数

函数原型
声明:s为字符串。rm为要删除的字符序列
s.strip(rm) :删除s字符串中开头、结尾处。位于 rm删除序列的字符
s.lstrip(rm) :删除s字符串中开头处。位于 rm删除序列的字符
s.rstrip(rm) :删除s字符串中结尾处,位于 rm删除序列的字符

如今来分析s.strip(rm)这个函数。

  • 如今如果s=‘abcd’
    则 s.strip(‘bd’)————->’abc’
  • 而s.strip(‘ba’)和s.strip(‘ab’)的结果是一样的,都是’cd’
  • 而s.strip(‘bd’)得到的结果是’abc’,于是我就不理解了
  • 于是我继续尝试,发现s.strip(‘bac’)———->’d’

非常多博客都是这样说明了下,然后就没有然后了,都没有解释究竟是怎么工作的,为什么会产生这种原因,不知是过于简单所以别人都没有进行解说还是我过于笨拙。没能理解。

产生这种原因我的理解例如以下:s.strip(rm)首先检查字符串s中的首尾字符是否在rm中。如存在则将字符从中删除,并用删除字符后的字符串继续检查首尾字符是否出如今rm中。如此下去,并返回最后的结果。


上面可能说的比較抽象,以上面的样例 s.strip(‘ba’)为例,经历了几下几步

  • 第一步:字符串s=‘abcd’先检查其首尾字符是否出如今rm=’ba’中,发现首字符’a’存在于rm=’ba’中,于是将’abcd’中的’a’字符从中删除,得到’bcd’字符串
  • 第二步:再继续检查所得字符串’bcd’的首尾字符是否出如今rm=’ba’中。发现首字符’b’存在,则将’bcd’中的字符’b’从中删除,得到’cd’字符串
  • 第三步:再继续检查所得字符串’cd’中的首尾字符是否小狐仙在rm=’ba’中,发现没有。则将其返回,结束。

个人愚见,不知正确与否。若不对,欢迎批评指正

<script type="text/javascript"> $(function () { $(‘pre.prettyprint code‘).each(function () { var lines = $(this).text().split(‘\n‘).length; var $numbering = $(‘
    ‘).addClass(‘pre-numbering‘).hide(); $(this).addClass(‘has-numbering‘).parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($(‘
  • ‘).text(i)); }; $numbering.fadeIn(1700); }); }); </script>

python中strip()函数的理解