我有这样的字符串
ab/acd/ad//ab/da
我只需要从中心删除两个斜杠,但不要像这样删除单个斜杠:
ab/acd/adab/da
如果我做string.replace(' /',''),它会给出
abacdadabda
这不是我想要的......
感谢名单
答案 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"