Заменить новые строки запятыми с помощью Notepad ++?


165

У меня есть вопрос Notepad ++.

Как я могу взять следующие слова в Notepad ++ (который находится на разных строках)

Apples
Apricots
Pear
Avocados
Bananas

И превратить их в абзац с запятой в конце каждого? Как это:

Apples, Apricots, Pear, Avocados, Bananas

Ответы:


325

Откройте диалог поиска и замены (нажмите CTRL+ H).

Затем выберите Regular expressionв разделе «Режим поиска» в нижней части.

В Find whatполе введите это:[\r\n]+

В Replace with:, 

После запятой есть пробел.

Это также заменит такие строки, как

Apples

Apricots
Pear

Avocados
Bananas

Там, где есть пустые строки.

Если в ваших строках есть пробелы, вы должны удалить их в первую очередь. Самый простой способ добиться этого

EDIT -> Blank Operations -> Trim Trailing Space

ИЛИ

TextFX -> TextFX Edit -> Trim trailing spaces

Обязательно установите режим поиска на «Регулярное выражение».


Если на линии есть пробелы, вы можете _*[\r\n]+. Чтобы справиться с пустыми строками, превращенными в лишние запятые, вы можете выполнить поиск ,_[,_]+и заменить его на регулярное выражение ,_. Кроме того, пакет TextFx имеет команду удаления пустых строк, которую можно использовать перед добавлением запятых. (Заметьте, что подчеркивание подчеркивает пробелы в этих блоках кода.)
— AdrianHHH

да вы очень правы Я просто пытался дать минималистичный ответ. Может быть, я должен отредактировать ответ тогда.

2
Это не работает для меня: я вижу "0 случаев были заменены".
— Иэн Самуэль Маклин, старейшина

3
@IainElder, режим поиска должен быть установлен на «Регулярное выражение» вместо «Нормальный» или «Расширенный».
— Скотт Лоуренс

У меня был тот же результат, что и у Иэйна.
— Дхочее

34

Вот что сработало для меня с подобным списком строк в Notepad ++ без каких-либо макросов или чего-либо еще:

  1. Нажмите Edit -> Blank Operations -> EOL to space [Все элементы теперь должны быть в одной строке, разделенной «пробелом»]

  2. Выберите любой «пробел» и выполните «Заменить все» («,»)


Просто и элегантно, красиво
— reggaeguitar

@trishul Действительно Хорошо.
— himanshupareek66

32

Ответ fapDaddy с использованием макроса указал мне правильное направление.

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

  1. Поместите курсор после первого элемента данных. введите описание изображения здесь

  2. Нажмите «Макрос> Начать запись» в меню. введите описание изображения здесь

  3. Введите эту последовательность: Comma, Space, Delete, End.введите описание изображения здесь

  4. Нажмите «Макрос> Остановить запись» в меню. введите описание изображения здесь

  5. Нажмите «Макрос> Выполнить макрос несколько раз ...» в меню. введите описание изображения здесь

  6. Нажмите «Выполнить до конца файла» и нажмите «Выполнить». введите описание изображения здесь

  7. Удалите все символы в конце. введите описание изображения здесь

  8. Готово!

введите описание изображения здесь


5
Этот метод медленный для тысяч элементов данных.
— Иэн Самуэль Маклин, старейшина

Отличный ответ. Спасибо :)
— Питер Т.

Такая отличная информация, будет полезна во многих подобных ситуациях. Спасибо!
— Моин

Спасибо за обмен информацией. Это интересно.
— Железный человек

4

Для Блокнота ++ 5,9

  1. Нажмите Ctrl + H
  2. Выберите режим поиска Расширенный (\ n, \ r, \ t, \ o, \ x ...)
  3. Введите Найти что: \ r \ n
  4. Введите Заменить: ,
  5. Replace_All должен получить требуемый результат.

3
Этот ответ повторяет принятый ответ, и этот ответ относится к античной версии Notepad ++, теперь доступна версия 7.4.x. Добро пожаловать в Stack Overflow, но, пожалуйста, ответьте на вопрос, предоставьте новую информацию или дайте новое представление. Повторять существующие ответы бесполезно.
— AdrianHHH

Для более новых версий npp это лучший способ.
— нурдыгуй

Это самый простой ответ. Мне не нужно переходить в режим регулярных выражений, чтобы заменить символы новой строки запятыми. N ++ на самом деле работает правильно, тогда как другие редакторы интерпретируют "\ n" как возврат каретки И перевод строки, что сначала смутило меня.
— BrianVPS

3

Наведите курсор на « Яблоки» , под вкладкой «Макрос» выберите « Начать запись» . Введите запятую ( , ), пробел () и нажмите клавишу « Конец». На вкладке «Макрос» выберите « Остановить запись» .

Ctrl + Shift + P для одиночного воспроизведения.


Спасибо за этот совет. Что если у меня будет 5000 ++ слов? Нужно ли запускать макрос для каждого из них в отдельности? Есть ли более простой способ?
— user2231530

Если вам придется выполнить аналогичную задачу в будущем, вы можете написать скрипт для нее. Самый простой выход - просто перейдите на вкладку Macro и выберите несколько раз запустить макрос. Это будет сделано в считанные секунды.
— Viclim

+1 Ваш ответ указал мне правильное направление. В своем ответе я задокументировал, что именно сработало для меня.
— Иэн Сэмюэль Маклин, старейшина

2

Это может показаться странным, но вы можете удалить следующую строку, скопировав весь текст и вставив его в строку поиска Firefox, а затем вставив его заново в notepad ++.

шаг 1

шаг 2


1
Пожалуйста, улучшите этот ответ. Ссылки на изображения не будут полезны.
— Дрю

2

ИСПОЛЬЗОВАТЬ Панель поиска Chrome

1-нажатие CTRL F
2-вставка скопированного текста в строке поиска
3-нажатие, CTRL Aа затем CTRL Cдля повторного копирования текста из поиска
4-вставка в Notepad ++
5-заменить 'space'на','

1 клик для изображения
2-клик для изображения


0

Вы можете использовать командную строку cc.rnl ', 'ConyEdit (плагин), чтобы заменить новые строки нужным вам содержимым.


0

Для \s+меня сработало регулярное выражение :

введите описание изображения здесь


Кстати: мне кажется, что регулярное выражение $^должно работать, но вместо этого оно совпадает ^$.
— user3673

Использование опции «Расширенные» прямо над опцией «Регулярное выражение» (на вашем снимке экрана) на самом деле является самым простым способом сделать это.
— нурдыгуй
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.