簡體   English   中英

在python中從反向切片一個字符串

[英]slicing a string from reverse in python

我有一個字符串,例如如下

i = 'backup_1.2012-12-19.tar.gz'

我只需要從相反的字符串中獲取2012-12-19.tar.gz (因為有時字符串會像'backup_2.2012-12-20.tar.gz','backup_3.2012-12-21.tar.gz' )

所以無論字符串是什么,我需要將2012 to .gz的字符從 python 中的反向切片2012 to .gz

誰能讓我知道如何做這個python

你不能在第一個之后拿走所有東西嗎. ?

>>> s.split('.', 1)[1]
'2012-12-19.tar.gz'

查看str.partition

In [160]: i = 'backup_1.2012-12-19.tar.gz'

In [161]: i.partition('.')
Out[161]: ('backup_1', '.', '2012-12-19.tar.gz')

In [162]: i.partition('.')[-1]
Out[162]: '2012-12-19.tar.gz'

編輯:如果你想“反轉”日期:

In [163]: i.partition('.')[-1].partition('.')[0]
Out[163]: '2012-12-19'

In [164]: i.partition('.')[-1].partition('.')[0].split('-')[::-1]
Out[164]: ['19', '12', '2012']

In [165]: '-'.join(i.partition('.')[-1].partition('.')[0].split('-')[::-1])
Out[165]: '19-12-2012'

您可以使用帶有負索引的切片:

s[-17:]
 ".".join(i.split(".")[1:]) 

這也將起作用。 但是喬恩的回答更貼切,因為您將只進行兩次操作。

或按照以下方式進行。 即使字符串包含更多 '.',這將始終返回最后的字符串。 在開始。

".".join(i.split(".")[-3:])
i = "backup_1.2012-12-19.tar.gz"
z = i[9:26]
print(z)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM