我可以删除数字而不是字母字符:
>>> text
'132abcd13232111'
>>> text.strip('123')
'abcd'
为什么以下不起作用?
>>> text.strip('abcd')
'132abcd13232111'
答案 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()
添加一些示例:
因此,如果数字与否有关并不重要,那么您的第二个代码没有按照您的预期工作的主要原因是因为术语&# 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