Замените числа после символа, используя re.sub () в списке - PullRequest
3 голосов
/ 08 ноября 2019

У меня есть список номеров, сохраненных в списке, и я хочу удалить все числа после . Список есть, ['08-52-05.173735', '09-01-22.68835', '09-10-34.145061',], и я хочу удалить все после .. Ниже приведен код, которым я являюсьиспользуя,

ignore_ms = [re.sub(r'(?<=\.).*$', ' ', y) for y in timestamp]
print (ignore_ms)

, где timestamp - список выше. Тем не менее, результат, который я получаю, это

['[', "'", '0', '8', '-', '5', '2', '-', '0', '5', '. ', '1', '7', '3', '7', '3', '5', "'", ',', ' ', "'", '0', '9', '-', '0', '1', '-', '2', '2', '. ', '6', '8', '8', '3', '5', "'", ',', ' ', "'", '0', '9', '-', '1', '0', '-', '3', '4', '. ', '1', '4', '5', '0', '6', '1', "'", ',', ' ',

В то время как результат, который я хочу получить 08-52-05., 09-01-22., 09-10-34.

Есть идеи, что не так с кодом выше?

Спасибо.

Ответы [ 2 ]

3 голосов
/ 08 ноября 2019

Попробуйте использовать str.split:

l = ['08-52-05.173735', '09-01-22.68835', '09-10-34.145061']
print([i.split('.')[0]+'.' for i in l])
2 голосов
/ 08 ноября 2019

Вместо этого вы можете использовать более простой подход, избегая регулярных выражений с:

l = ['08-52-05.173735', '09-01-22.68835', '09-10-34.145061',]

[i[:i.rfind('.')] for i in l]
# ['08-52-05', '09-01-22', '09-10-34']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...