Блокнот ++ знайде та замінить рядок новим рядком


212

Розглянемо сценарій, коли у вас є певна рядок, яку ви хочете знайти та замінити. Ви хочете замінити його на новий рядок, який містить символ нового рядка (або послідовності символів).

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 ++? Чи є інші інструменти, які ви б запропонували легко виконати цю команду?

Відповіді:


279

Блокнот ++ буде чудово.

Рядок пошуку:

 ксиз
Зверніть увагу на пробіл перед xyz.

Замінити рядок:

\ r \ nxyz

Вам також потрібно встановити "Режим пошуку" на "Розширений" (поле внизу лівої групи в діалоговому вікні " Замінити" ), щоб "Блокнот ++" вшановував коди втечі.


Деякі передумови: "\ r \ n" - код евакуації для повернення каретки, стандарт для нових рядків у Windows. Системи в стилі Unix використовують просто \ n (новий рядок). Більшість IDE, включених у Notepad ++, зрозуміють обидва стилі та відображають їх новими рядками, але основні утиліти Windows не розуміють \ n як еквівалентні \ r \ n, тому останній зазвичай є найбільш підходящим, якщо файл призначений для використовувати в Windows.


2
\ r \ n = Синтаксис нового рядка Windows. Однак для всього іншого, крім звичайного старого блокнота, він прийме просто \ n для нового рядка (що також є більш звичайним).
Macha

3
Ваша фраза "більш звичайна" вводить в оману. "\ r \ n" є стандартом для Windows. Просто багато редакторів та IDE трапляються розпізнавати стандартну лінію Unix / Linux, що закінчується "\ n", і відображати документ відповідно. Нічого про "\ n" не робить це більш звичайним.
Брайан Лейсі

Якщо чесно, версія Win / DOS для мене має більше сенсу. "\ r" означає "Повернення перевезення, або" Повернення каретки / курсору до початку рядка "", а "\ n" означає "Просунути перевезення / курсор вперед на один рядок". Звичайно, Unix прийшов 20 років тому, тому я думаю, в цьому сенсі саме Microsoft порушив стандарт.
Брайан Лейсі

7
ця робота не буде, якщо ви не встановите режим пошуку, як зазначено в іншій відповіді: superuser.com/questions/34451/…
codeulike

7
Якщо ви намагаєтеся замінити буквальний рядок "\ r \ n" фактично новим рядком, я повинен був виконати наступне: встановити режим пошуку на звичайний, знайти / замінити \ r \ n на ***. Потім встановіть режим пошуку на Розширений, знайдіть / замініть *** на \ r \ n.
goku_da_master

61

У Блокноті ++ це дуже просто ...

  • Знайдіть: xyz
  • Замініть на: \ n


  • Режим пошуку: розширений (\ n, \ t тощо)

Хитрість полягає у встановленні режиму пошуку.


1
Ця відповідь спрацювала для мене, прийнята не стала. Вер 5.8.6
bdwakefield

Так-так, тут прийняту відповідь не вказали, використовуючи розширений режим ..
Енді

Чому б не \r\n(замість \n)?
Пітер Мортенсен

5

Я трохи обманюю, коли символи S & Ring, які я не можу вводити безпосередньо в текстові поля (наприклад, вкладки та нові рядки). Знайдіть десь у документі, який вже має цей символ, а потім скопіюйте його та вставте його в поле заміни.

Тож у вашому прикладі почніть з самого початку одного рядка, клацніть, перетягніть до самого кінця попереднього рядка, скопіюйте його та вставте його у діалогове вікно Замінити.


5

У діалоговому вікні "Замінити" переконайтесь, що в режимі пошуку вибрано "Розширений". Потім введіть у поле пошуку введіть "xyz" та замініть на "\ n".


1
Чому б не \r\n(замість \n)?
Пітер Мортенсен

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.