Блокнот ++ найти и заменить строку новой строкой

647287
p.campbell

Рассмотрим сценарий, в котором у вас есть конкретная строка, которую вы хотите найти и заменить. Вы хотите заменить его новой строкой, содержащей символ новой строки (или последовательность символов).

abc123 xyz456-blah fsafd23 xyz456-green 89hjkf23 xyz456-red afdsa23 xyz456-yellow abaac123 xyz456-orange 

В приведенном выше сценарии я хотел бы найти " xyz" и заменить пробел на возврат каретки / перевод строки.

Результаты будут выглядеть так:

abc123 xyz456-blah fsafd23 xyz456-green 89hjkf23 xyz456-red ︙ 

так далее...

Вопрос: Как бы вам было проще всего добиться этого с помощью Notepad ++? Есть ли другие инструменты, которые вы бы посоветовали легко выполнить этой командой?

204

5 ответов на вопрос

273
caliban

Notepad ++ отлично подойдет.

Строка поиска:

 хуг
Обратите внимание на пространство перед xyz.

Заменить строку:

\ Г \ nxyz

Вам также нужно будет установить «Режим поиска» на «Расширенный» (нижний левый групповой блок в диалоговом окне « Заменить »), чтобы Notepad ++ учитывал управляющие коды.


Немного предыстории: «\ r \ n» - это код перехода для возврата каретки, стандарт для новых строк в Windows. Системы в стиле Unix используют просто \ n (перевод строки). Большинство IDE, в том числе Notepad ++, будут понимать оба стиля и отображать их каждый с новыми строками, но основные утилиты Windows не понимают \ n как эквивалентную \ r \ n, поэтому последняя обычно наиболее подходит, если файл предназначен для использоваться в среде Windows.

\ r \ n = Синтаксис новой строки Windows. Однако, для всего, кроме простого старого блокнота, он примет только \ n для новой строки (которая также более обычна). Macha 14 лет назад 2
Ваша фраза "более условно" вводит в заблуждение. "\ r \ n" является стандартом для Windows. Просто многие редакторы и IDE распознают стандартную строку Unix / Linux, оканчивающуюся на «\ n», и отображают документ соответствующим образом. В "\ n" нет ничего, что делает его более обычным. Brian Lacy 13 лет назад 3
Если честно, версия Win / DOS имеет для меня больше смысла. «\ r» означает «Возврат каретки» или «Возврат каретки / курсора в начало строки», а «\ n» означает «Перемещение каретки / курсора вперед на одну строку». Конечно, Unix появился за 20 лет до этого, поэтому я думаю, что в этом смысле именно Microsoft нарушила стандарт. Brian Lacy 13 лет назад 0
это не будет работать, если вы не установите режим поиска, как указано в другом ответе: http://superuser.com/questions/34451/notepad-find-and-replace-string-with-a-new-line/34454#34454 codeulike 12 лет назад 7
Если вы пытаетесь заменить буквальную строку "\ r \ n" на новую строку, мне нужно было сделать следующее: установить режим поиска на обычный, найти / заменить \ r \ n на ***. Затем установите режим поиска на Расширенный, найдите / замените *** на \ r \ n. goku_da_master 9 лет назад 7
@goku_da_master +1 это именно то, что я пытался выяснить. Подумал, может быть, был другой путь, но это работает просто отлично = -) Mungoid 9 лет назад 0
Как мне сделать это наоборот? Я хочу заменить такие вещи, как переводы строк, текстом. Aaron Franke 7 лет назад 0
Это также работает в обратном порядке. Я просто использовал ** заменить ** `\ r \ n `** с **` <\ item> \ r \ n \ r \ n `в N ++ чтение XML-документа, чтобы добавить пустую строку между каждым элементом, визуально разделив его и упрощая чтение. Isaac Reefman 5 лет назад 0
У меня не получилось, но на удивление. NP ++ v 7.75. Я пытался заменить ";" с возвратом каретки. Vinnie 5 лет назад 0
61
th3dude

В Notepad ++ это очень просто ...

  • Найти: xyz
  • Заменить на: \ n


  • Режим поиска: расширенный (\ n, \ t и т. Д.)

Хитрость в том, чтобы установить режим поиска.

Этот ответ работал для меня, принятый не. Версия 5.8.6 bdwakefield 12 лет назад 1
Да такой же тут принятый ответ не уточняется при использовании расширенного режима .. Andy 12 лет назад 0
Режим поиска является ключевым, спасибо за публикацию. Jrod 11 лет назад 2
Почему бы не `\ r \ n` (вместо` \ n`)? Peter Mortensen 5 лет назад 0
5
tj111

В диалоговом окне «Заменить» убедитесь, что в режиме поиска вы выбрали «Расширенный». Затем введите в поле поиска введите «xyz» и замените на «\ n».

Почему бы не `\ r \ n` (вместо` \ n`)? Peter Mortensen 5 лет назад 1
4
Macha

Я немного обманываю, когда S & Ring символы, которые я не могу набирать непосредственно в текстовые поля (например, вкладки и новые строки). Найдите где-нибудь в документе, который уже имеет этот символ, затем скопируйте его и вставьте в поле замены.

Итак, в вашем примере начните с самого начала одной строки, щелкните, перетащите до самого конца предыдущей строки, скопируйте его и вставьте в диалоговое окно «Заменить».

2
dlux

Для Notepad ++ измените режим поиска на Расширенный, затем в поле Заменить на используйте \ n .

Почему бы не `\ r \ n` (вместо` \ n`)? Peter Mortensen 5 лет назад 1

Похожие вопросы