Как удалить символы до конца после цифр - PullRequest
0 голосов
/ 19 февраля 2020

У меня есть ввод, как показано ниже

1sum
2subtract
3multipy
4divide
...

Ожидаемый вывод:

1
2
3
4
...

Я пытался %s/[0-9].*//g Но это также удаление цифр, я хочу сохранить цифры .. Пожалуйста, помогите

Ответы [ 2 ]

1 голос
/ 19 февраля 2020

Вы сопоставляете все , включая сами цифры.

Простой способ выполнить sh то, что вам нужно, это использовать \D для сопоставления с первым не- ди git символ, а затем удалите до конца строки:

:%s/\D.*//

Обратите внимание, что \D совпадает с [^0-9], который является любым символом за исключением для ди git, поэтому добавление каретки к исходному выражению также сработало бы:

:%s/[^0-9].*//

Вам не нужен /g в конце (даже если это не больно), так как в каждой строке может быть не более одного совпадения, поскольку совпадение всегда будет расходоваться до конца строки.

1 голос
/ 19 февраля 2020

Как насчет этого:

:%s/\([0-9]\).*/\1 /g
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...