如何从字符串中去除正斜杠

时间:2012-08-02 10:23:27

标签: python

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参数是一个字符串,指定要删除的字符集。如果省略或None,则chars参数默认为删除空格。 chars参数不是前缀或后缀;相反,它的所有值组合都被剥离了:

  

3 个答案:

答案 0 :(得分:12)

  

str.strip([字符])

     
    

返回字符串的副本,并删除前导字符。

  

使用此命令在任何地方替换字符串:

s.replace('/', '')

答案 1 :(得分:7)

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

我建议使用:

s.replace('/', '')

代替。

答案 2 :(得分: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'