2015-02-20 3 views
1

У меня есть строка, которая выглядит как этотпитон - удалить текст строки

name = '1/23/20151' 

А теперь я хочу, чтобы удалить только задн 1, в конце 2015 г. Таким образом, что она становится

1/23/2015 

Так я попробовал этот

sep = '2015' 
name = name.split(sep, 1)[0] 

но удаляет 2015 также, я хочу 2015, чтобы остаться, как я мог это сделать.

Спасибо за помощь заранее.

EDIT

К сожалению, я не в полной мере объяснить проблему У меня есть две строки с одной упоминалось ранее и даты noraml '1/22/2015' и петли я до конца и только хочу, чтобы удалить этот дополнительный характер, если она есть, которая поэтому name = name[:-1] не работает.

+3

'name.rstrip ('1')' –

ответ

4
name = name.rstrip('1') 

будет только удалить trailing '1'

name = '1/23/20151' 
name = name.rstrip('1') # 1/23/2015 
'1/23/2015'.rstrip('1') # 1/23/2015 
+4

Примечание: это также разделит конец 1 на годы, заканчивающиеся на 1, например. '2011' становится' 20', что я не думаю, что это желаемый результат. – N1B4

+0

См. Мое обновленное решение. Я думаю, что это выполнит то, что он намеревается без каких-либо побочных эффектов – deweyredman

2

просто сделать это

name = name[:-1] 

Это должно сделать это.

Если вы хотите, чтобы удалить пятую цифру после года, я хотел бы сделать это:

name = name.split('/') 
name = '/'.join([name[0],name[1],name[2][:4]]) 
+0

см. Править, пожалуйста, – iqueqiorio

+0

будет ли конечная цифра всегда одной? – deweyredman

1

Список нарезка может легко сделать это:

>>> name[:-1] 
>>> '1/23/2015' 
+0

см. Править Пожалуйста, – iqueqiorio

Смежные вопросы