1

У меня очень длинный текстовый файл (около 15 тыс. Строк). Он содержит только цифры (6 цифр, разделенных пробелом). Меня интересуют только первые три числа каждой строки. Я попытался выбрать режим столбца и перетащить его вниз, однако это очень медленно, и у меня есть несколько файлов для обработки.

Я также попробовал трюк Begin/End Selection, однако он не работает со столбцами.

Есть ли способ автоматически выбирать только три последних столбца чисел в текстовом файле? Одним из способов может быть выбор всех строк в указанных столбцах. Возможно ли это вообще?

2 ответа2

8

Попробуй это:

  1. Нажмите CTRL+Home, чтобы переместить курсор ввода в начало документа.
  2. Теперь используйте полосу прокрутки для быстрой прокрутки к нижней части документа без изменения положения курсора. Вы можете перетащить ползунок полосы прокрутки, чтобы быстро добраться до нижней части документа. Это действительно быстро.
  3. Переместите указатель мыши после третьего номера последней строки, удерживая нажатой клавишу Alt+Shift, и нажмите.

Бинго!

1

Это можно сделать с помощью следующего регулярного выражения, предполагая, что ваши числа являются только числами (т.е. без запятых, десятичных точек):

1111 2222 3333 4444 5555 6666
1111 2222 3333 4444 5555 6666
1111 2222 3333 4444 5555 6666
1111 2222 3333 4444 5555 6666
1111 2222 3333 4444 5555 6666
1111 2222 3333 4444 5555 6666
1111 2222 3333 4444 5555 6666
1111 2222 3333 4444 5555 6666

CTRL-H, чтобы перейти к поиску и замене

Find what: .*\s(\d+\s\d+\s\d+)$
Replace with: \1
Search Mode: Regular expression

Объяснение регулярного выражения find:

.*  = match anything, repeating
\s  = match single whitespace
(   = start capture group
\d+ = match one or more numerals
\s  = match single whitespace
\d+ = match one or more numerals
\s  = match single whitespace
\d+ = match one or more numerals
)   = end capture group
$   = match end of line

И заменить коробку:

\1 = capture group 1 from the prior regex match (everything matched between the ( and the ))

Это заняло несколько секунд для замены и оставило вас с последними тремя столбцами чисел, т.е.

4444 5555 6666
4444 5555 6666
4444 5555 6666
4444 5555 6666
4444 5555 6666
4444 5555 6666
4444 5555 6666
4444 5555 6666
4444 5555 6666
4444 5555 6666
4444 5555 6666

Скриншот коробки замены АЭС:

notepad++ найти и заменить регулярное выражение

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .