0
Python 2.7.3 (default, Apr 20 2012, 22:44:07) 
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.  

>>> s = "www.example.com/help"
>>> s.strip('/')
>>> 'www.example.com/help'    #expected 'www.example.comhelp'
>>> t = "/blah/blah/"
>>> t.strip('/')
>>> 'blah/blah'    #expected 'blahblah'
>>> s.strip('w.')
>>> 'example.com/help'    #expected 'examplecom/help'
>>> f = 'www.example.com'
>>> f.strip('.')
>>> 'www.example.com'    #expected 'wwwexamplecom'
>>> f.strip('comw.')
>>> 'example'    #as expected

有人可以解释为什么 str.strip 似乎没有按承诺工作吗?

从文档中:

str.strip([字符])

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

4

3 回答 3

17

str.strip([字符])

返回删除了前导和尾随字符的字符串的副本。

使用它在任何地方替换字符串:

s.replace('/', '')
于 2012-08-02T10:24:39.053 回答
8

strip 只会删除前导和尾随字符

我建议使用:

s.replace('/', '')

反而。

于 2012-08-02T10:28:58.077 回答
3

另一种方法

    In [19]: s = 'abc.com/abs'
    In [29]: exclude = '/'
    In [31]: s = ''.join(ch for ch in s if ch not in exclude)
    In [32]: s
    Out[32]: 'abc.comabs'
于 2012-08-02T10:35:02.447 回答