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 = "username@102.1.1.2:/home/hello/there" a.rsplit('/', 1)[0]

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

于 2013-05-12T16:48:23.960 に答える