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

标签 python

我有这样的字符串

ab/acd/ad//ab/da

我只需要从中心删除两条斜线,而不是像这样的一条斜线:

ab/acd/adab/da

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

abacdadabda

这不是我想要的..

谢谢

最佳答案

最简单的方法是将双斜杠替换为单斜杠:

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'

关于python - 如何删除不同位置的两个斜杠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24555982/

相关文章:

python - C/Python API : efficiency of Py_BuildValue use

python - 如何使用 "truffle"搜索以 `pip` 开头的所有 Python 包?

python - 选择 pandas 数据框中的多列,列索引为序号

python - 如何使用 Selenium 提取标签内值属性的文本

python - 如何使语句 `import datetime` 绑定(bind) datetime 类型而不是 datetime 模块?

python - 如何使用python子进程调用在命令中使用管道

Python 代码对象——它们有什么用?

python - 在断言更改之前等待 CSS 属性更改

python - 在 python 中返回日期时间的毫秒表示

python - Azure DevOps AzureFunctionApp@1 未安装 python 依赖项