python使用strip()造成了字符丢失

新手上路,请多包涵

url ='/9_9667/6167058.html'

print(url.strip('/9_9667/'))

输出结果为:
167058.html

为什么会少了个'6',求解答

阅读 2.6k
2 个回答
新手上路,请多包涵

python中的str.strip('xyz'),是会将'xyz'中出现的任何单一字符都去除,而不是当做整体去除。

新手上路,请多包涵

strip()函数原型是:

s.strip(rm) 删除s字符串中开头、结尾处,位于 rm删除序列的字符

注:s为字符串,rm为要删除的字符序列

注意:

(1)当rm为空时,默认删除空白符(包括'n', 'r', 't', ' ')

(2)这里的rm删除序列是只要边(开头或结尾)上的字符在删除序列内(不是完全按顺序匹配),就删除掉。

例如:

>>> a = '123abc'
>>> a.strip('21')
'3abc'
>>> a.strip('12')
'3abc'

结果是一样的。仔细看看上面的例子相信你就明白问题在哪儿了。

你这种场景建议用replace。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏