:%s/.\{-}\ze\d\+,\d\+$//
Эта команда работает путем привязки к разделенным запятыми числам в конце строки, поэтому она работает, даже если все, кроме этих чисел в строке, меняется .
Визуальный блок - это, вероятно, самое простое решение, которое я бы использовал. Но это не сработает, если линии станут в шахматном порядке, как в:
2010-04-07 14:25:50,772 DEBUG This is a debug log statement - 9,8
2010-04-07 14:25:50,772 DEBUG This is another debug log statement - 9,8
Разделитель может также измениться на другой символ, поэтому строка будет выглядеть следующим образом:
2010-04-07 14:25:50,772 DEBUG This is a debug log statement | 9,8
Тогда использование :%s/.* - //
не сработает.
Объяснение для регулярного выражения:
.\{-}
соответствует любому значению, за исключением новых строк, как можно меньше
\ze
прекращает сопоставление, поэтому замена не влияет на следующие символы
\d\+,\d\+$
цифр, по крайней мере, одна, за которой следует запятая, за которыми следуют цифры, по крайней мере, одна, и конец строки
Естественно, это не работает, если формат желаемых значений в конце строки ошибочен, и в этом случае другие решения работают, если строки до значений имеют одинаковую длину или разделители одинаковы.