6

Я хочу очистить некоторые данные, скопированные из электронной таблицы Excel, и стереть любое форматирование с помощью Notepad++. Я хочу использовать нумерацию строк в Notepad++ для подсчета количества строк, которые у меня есть. То есть: количество строк с фактическими данными в Excel.

Причина для экспорта данных из Excel

Каждая строка таблицы - это собственный номер строки. На это указывает число в левом поле в Excel. Так что я мог бы посмотреть на это и понять это.

То есть если это выглядит так:

  A    B
1 #### something
2 #### something
3 #### something
4 #### something
5 #### something
6 #### something

Но если это выглядит так ...

  A    B
1 #### something
2 #### something
3 
4 #### something
5 
6 #### something

... и список очень длинный, тогда трудно сказать, сколько строк / строк в этом списке. Я должен был бы пойти вниз по списку и визуально сосчитать строки. Я имею в виду, я знаю, что у Word есть возможность сказать вам, сколько строк или слов у вас есть в документе. Но я не уверен, что в Excel даже есть такая вещь.

И я не знаю, можете ли вы что-нибудь сделать с этим прямо в Excel, то есть сказать, чтобы он удалял строки ячеек без каких-либо данных и перемещал ряды ячеек рядом друг с другом (верх / низ). Если вы знаете способ, пожалуйста, поделитесь им. Но я думаю, что Notepad++ - отличный инструмент для манипулирования такими текстовыми данными.

Проблема, с которой я сталкиваюсь в Notepad++

Я хочу удалить лишние разрывы строк. Вот как это может выглядеть.

Line 01:something
Line 02:something
Line 03:something
Line 05:
Line 06:
Line 07:something
Line 08:something
Line 09:
Line 10:
Line 11:
Line 12:
Line 13:something

Я хочу удалить строки 5, 6, 9, 10, 11 и 12.

Что я пробовал

  • Редактирование TextFX: я попробовал опцию Удалить пустые строки из меню Правка. Не сработало* 1
  • Заменить: я попытался набрать \n\r в поле поиска и ничего в поле замены. "0 найденных ошибок" * 2
  • Заменить: я попытался набрать \r\n в поле поиска и ничего в поле замены. "402 замены были заменены", но это помещает все в одну строку. Как это: что-то что-то что-то
  • Меню "Правка": я пытался удалить пустые строки из меню "Правка".* 3
  • Меню "Правка": я пытался соединить линии из меню "Правка".

Так что еще?... что еще я могу попробовать?

Это результат, который я после:

Line 01:something
Line 02:something
Line 03:something
Line 07:something
Line 08:something
Line 13:something

Как мне этого добиться?

Обновить

**** 1, 2, 3 ** = Эти три метода должны работать. Я проверил и подтвердил каждый. Два других не делают и не должны. У них другая цель.*

Хорошо, я думаю, что теперь я знаю, почему это не работает. Текст, который я обрабатываю, копируется и вставляется из Excel 2010 в Notepad++, и там есть несколько дополнительных символов, которые отбрасывают эти команды. Есть несколько вкладок и символов CF или LF.

Вот более подробное описание того, что у меня есть.

Line 01:####[tab]something[CR][LF]
Line 02:####[tab]something[CR][LF]
Line 03:####[tab]something[CR][LF]
Line 05:[tab][CR][LF]
Line 06:[tab][CR][LF]
Line 07:####[tab]something[CR][LF]
Line 08:####[tab]something[CR][LF]
Line 09:[tab][CR][LF]
Line 10:[tab][CR][LF]
Line 11:[tab][CR][LF]
Line 12:[tab][CR][LF]
Line 13:####[tab]something

Куда...

  • = 4-значный номер
  • [tab] = вкладка
  • [CR] = возврат каретки
  • [LF] = перевод строки

Так как вы справляетесь с этим?...

5 ответов5

8

Еще один ответ после обновления ...

Если текст в этом формате, вы сможете найти и заменить, используя следующее:

Сначала установите режим поиска в Notepad++ на "Расширенный".

Установите "Найти что" в «\t\r\n», а "Заменить на" оставьте пустым.

Это должно найти и заменить шаблон TAB CR LF, как в тексте выше.

6

Вы можете использовать режим Regular Expression Search->Replace чтобы сделать это:

Ваша пустая строка может быть описана с помощью регулярного выражения \s*\R после новой строки \R , поэтому вы можете использовать следующую замену:

Find what : "(\R)(\s*\R)+"
Replace with : "\1"

\R - это универсальная новая строка, она эквивалентна \r\n (Windows), \n (Unix) или \r (Mac), в зависимости от текущего формата новой строки.

\s - это любой пробел , он эквивалентен [[:space:]] или [ \t\n\r\f\v]

3

В Excel (я использую 2010) вы можете выбрать и удалить пустые строки:


Выберите диапазон данных

исходные данные


На вкладке «Главная страница» перейдите к «Найти и выбрать» и выберите «Перейти к специальным»

Перейти к спец.


В окне настроек выберите заготовки. Это выберет все пустые ячейки в диапазоне данных. Щелкните правой кнопкой мыши в пустой ячейке и выберите «Удалить», затем выберите «Переместить ячейки вверх».

выбранные заготовки


Готово

2

Для Notepad++ самый простой способ справиться с этой ситуацией - встроенная функция:

Правка> Операции со строками> Удалить пустые строки (содержащие пустые символы)

@ Сэмми сказал, что он попробовал вариант сразу над этим ("Удалить пустые строки"), но вам нужно выбрать тот, который содержит строки с пустыми символами (например, Tab и пробел).

Мне нравятся функции поиска / замены в Notepad++, но эта встроенная функция проще.

2

Если вам не нужно сохранять порядок строк, вы можете отсортировать строки, и в результате пустые строки будут помещены вверху или внизу документа, в зависимости от того, какой порядок сортировки используется?

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