如何删除不同位置的两个斜杠

时间:2014-07-03 14:08:34

标签: python

我有这样的字符串

ab/acd/ad//ab/da

我只需要从中心删除两个斜杠,但不要像这样删除单个斜杠:

ab/acd/adab/da

如果我做string.replace(' /',''),它会给出

abacdadabda

这不是我想要的......

感谢名单

2 个答案:

答案 0 :(得分:2)

最简单的方法是用单个替换双斜杠:

string.replace('//', '/')

或者,在/上拆分字符串,删除空元素并重新加入:

'/'.join([p for p in string.split('/') if p])

这也处理带有许多连续斜杠的字符串。

演示:

>>> string = 'ab/acd/ad//ab/da'
>>> string.replace('//', '/')
'ab/acd/ad/ab/da'
>>> '/'.join([p for p in string.split('/') if p])
'ab/acd/ad/ab/da'
>>> string = 'foo/bar///baz/////spam'
>>> '/'.join([p for p in string.split('/') if p])
'foo/bar/baz/spam'

答案 1 :(得分:0)

您只需将replace方法中的斜杠字符串更改为双斜杠即可。这使得它只查找两个斜线彼此相邻的字符串部分,并忽略一个斜杠,如下所示。

  
    
      

string =" ab / acd / ad // ab / da"

             

与string.replace(' //''&#39)

             

" AB / ACD / ADAB / DA"