0

例如,如果我有这样的字符串:

a = "username@102.1.1.2:/home/hello/there"

如何删除最后一个单词之后的最后一个单词/。结果应该是这样的:

username@102.1.1.2:/home/hello/ 

OR 

username@102.1.1.2:/home/hello
4

6 回答 6

7

试试这个:

In [6]: a = "username@102.1.1.2:/home/hello/there"

In [7]: a.rpartition('/')[0]
Out[7]: 'username@102.1.1.2:/home/hello'
于 2012-12-10T05:14:59.550 回答
3
>>> "username@102.1.1.2:/home/hello/there".rsplit('/', 1)
['username@102.1.1.2:/home/hello', 'there']
>>> "username@102.1.1.2:/home/hello/there".rsplit('/', 1)[0]
'username@102.1.1.2:/home/hello'
于 2012-12-10T05:10:01.187 回答
2

你可以试试这个

a = "username@102.1.1.2:/home/hello/there"
print '/'.join(a.split('/')[:-1])
于 2012-12-10T05:08:33.293 回答
1

这可能不是最 Pythonic 的方式,但我相信以下方法会起作用。

tokens=a.split('/')
'/'.join(tokens[:-1])
于 2012-12-10T05:08:42.363 回答
0

您是否考虑过os.path.dirname

>>> a = "username@102.1.1.2:/home/hello/there"
>>> import os
>>> os.path.dirname(a)
'username@102.1.1.2:/home/hello'
于 2012-12-11T18:54:43.940 回答
0

a = "用户名@102.1.1.2:/home/hello/there" a.rsplit('/', 1)[0]

结果 -username@102.1.1.2:/home/hello/

于 2013-05-12T16:48:23.960 回答