40

Я пытаюсь избавиться от всего после колонки в Notepad++. Режим столбца не вариант. Является ли это возможным?

Что я имею:

70.97.110.40    159 ms          [n/a]                   21              
70.97.117.177   134 ms          [n/a]                   21              
70.97.120.10    75 ms           [n/a]                   21              
70.97.122.105   87 ms           www.portless.net        21              
70.97.122.106   89 ms           www.popovetsky.org      21              
70.97.122.107   95 ms           www.psmythe.net         21              
70.97.122.104   98 ms           wasabi.prostructure.com 21              
70.97.122.108   89 ms           crm.prostructure.com    21              
70.97.122.109   87 ms           internal.prostructure.com21 

Что я хочу:

70.97.110.40
70.97.117.177
70.97.120.10
70.97.122.105
70.97.122.106
70.97.122.107
70.97.122.104
70.97.122.108
70.97.122.109

11 ответов11

98

Вот более простое регулярное выражение, которое вы можете использовать для достижения того же эффекта. замещать

 .*

(обратите внимание на начальный пробел)

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

60

Если данные в первом столбце никогда не содержат пробелов, вы можете использовать регулярное выражение find и replace, чтобы получить то, что вы хотите.

В режиме регулярного выражения найдите:

^([^ ]*).*

И заменить на

\1

Что это делает:

^ указывает, что любое совпадение должно начинаться с начала строки.
([^ ]*) - любое выражение, не содержащее пробела. Соответствие является жадным, поэтому оно будет соответствовать всему до первого пробела (или до конца строки, в зависимости от того, что наступит раньше).
.* все остальное на линии.

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

40

Если вы используете Windows, и если вы не возражаете против конечных пробелов (вы можете найти / заменить их позже), используйте функцию Block Select :

  1. Нажмите и удерживайте клавишу Alt
  2. Используя мышь, выберите часть для удаления (весь блок текста)
  3. Отпустите клавишу Alt
  4. Удалить этот блок текста
  5. Повторите по мере необходимости
11

Регулярное выражение быстрее, но вы можете сделать некоторые действительно сложные вещи с макросами, если это более сложная задача.

Вы можете записать макрос:

  1. Курсор в строке 1
  2. Хит Начать запись
  3. Нажмите клавишу домой
  4. Удерживайте Ctrl, пока вы нажимаете клавишу Стрелка вправо (семь раз)
  5. Удерживайте Shift, пока вы нажимаете клавишу End
  6. Нажмите клавишу Удалить
  7. Нажмите клавишу Стрелка вниз
  8. Хит Стоп записи

Затем воспроизведите это:

  1. Хит "Запускать макрос несколько раз"
  2. Введите в строке документа минус 1, так как первая строка завершена.
9

Установите курсор после 70.97.110.40 .

Поместить курсор

Нажмите Alt и перетащите курсор вправо и вниз, чтобы выбрать ненужную деталь.

Выбрать

Нажмите клавишу Backspace или Удалить.

удалять

8

Вот пара альтернативных методов для данного ответа.

Если ваши данные имеют fixed width , вы также можете использовать следующее регулярное выражение в поиске:

Найти что: ^(.{16}).*$

Заменить на: \1

Хорошо, если данные, которые вы хотите сохранить, содержат пробел, как кто-то упоминал. Кроме того, опять же для данных фиксированной ширины, вы можете использовать Column Mode Editing . Это аккуратная небольшая функция, которая позволяет редактировать несколько строк данных в одном и том же месте столбца. Смотрите Редактирование в режиме колонки .

В нем упоминаются клавиши со стрелками, но вы также можете использовать Page Up/Down для более быстрого метода, а также клавиши End и Home . Мышь тоже работает. Но вы можете использовать это для специального метода удаления данных после определенной точки, особенно если это всего несколько строк. Это также хорошо для копирования данных, но способ их вставки немного странный, так что вам нужно сначала привыкнуть к этому.

4

Аналогично энтгриде:

  1. Поместите курсор в столбец 16
  2. Shift + Alt + Page Down
  3. Shift + Alt + End
  4. удалять

Если в конце файла есть пустая строка, просто нажмите стрелку вверх до # 3.

Это не идеально, но это удобно.

4
  1. Нажмите ALT , используя мышь в качестве лассо.
  2. Выберите все, что вы хотите удалить
  3. Нажмите УДАЛИТЬ
3

Вот визуальный способ:

  • Поместите курсор в конец IP-адреса.
  • Alt+Shift+Pg Down
  • Alt+Shift+Right
  • удалять

Это не основано на столбце.«Это работает только потому, что все ваши IP-адреса совпадают.

1

В режиме регулярного выражения найдите:

\ Т.*

И заменить на

Ничего такого

0

Удалить все после первого столбца в Notepad++:

  1. Выделите 2-й столбец: Alt + Drag
  2. Для выбора остальных столбцов: просто нажмите стрелку вправо

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