从动态URL的末尾删除子字符串

时间:2017-12-20 15:44:46

标签: python-2.7

如何删除跟在上一个正斜杠(/)或反斜杠()后面的字符串?

例如,这些将是我的输入:

  • 'C:/用户/ BobDole /文档/ Python的
  • 'C:/用户/温迪/图片/哇噢'
  • '//网络/数据/文档/比利'

这是我想要的输出:

  • 'C:/用户/ BobDole /文档/'
  • 'C:/用户/温迪/图片/'
  • '//网络/数据/文档/'

如您所见,可能有任意数量的前向/反斜杠,最后(最右侧)斜线后面的字符数可以是任意数字。

2 个答案:

答案 0 :(得分:0)

你可以split正斜杠上的字符串,然后join除了最后一个子字符串之外的所有字符串。

>>> s = 'C:/Users/BobDole/Documents/Python'
>>> '/'.join(s.split('/')[:-1])
'C:/Users/BobDole/Documents'

或者您可以使用rfind

>>> s = 'C:/Users/BobDole/Documents/Python'
>>> s[:s.rfind('/')]
'C:/Users/BobDole/Documents'

在任何一种情况下,如果你需要尾随斜杠,只需用

添加它
>>> s += '/'

P.S。那些是文件路径,而不是URL

答案 1 :(得分:0)

最简单的方法是根据感兴趣的分隔符(此处为“/”)将字符串拆分为数组,并重新加入除最后一个元素之外的所有元素

示例:

'/'.join('/hello/there/friend'.split('/')[:-1])

并将'/ hello / there / friend'替换为首选字符串或变量