如何使用text strip()函数?

时间:2017-04-04 17:53:56

标签: python string python-3.x

我可以删除数字而不是字母字符:

>>> text
'132abcd13232111'

>>> text.strip('123')
'abcd'

为什么以下不起作用?

>>> text.strip('abcd')
'132abcd13232111'

2 个答案:

答案 0 :(得分:3)

原因很简单,并在documentation of strip中说明:

str.strip([chars])

Return a copy of the string with the leading and trailing characters removed. 
The chars argument is a string specifying the set of characters to be removed.

'abcd'在字符串'132abcd13232111'中既不是前导也不是尾随,因此它不会被剥离。

答案 1 :(得分:1)

根据Jim's answer文档,只需向.strip()添加一些示例:

  • 返回字符串的副本,其中前导尾随字符已删除。
  • chars参数是一个字符串,指定要删除的字符集。
  • 如果省略或None,则chars参数默认删除空格。
  • chars参数不是前缀或后缀;相反,它的所有值组合都被剥离了。

因此,如果数字与否有关并不重要,那么您的第二个代码没有按照您的预期工作的主要原因是因为术语&# 34; ABCD"位于字符串的中间。

<强>例1:

s = '132abcd13232111'
print(s.strip('123'))
print(s.strip('abcd'))

输出

abcd
132abcd13232111

<强>例2:

t = 'abcd12312313abcd'
print(t.strip('123'))
print(t.strip('abcd'))

输出

abcd12312313abcd
12312313