Використовуючи пошук / заміну підстановок у Блокноті ++


17

Ось моя проблема: у файлі .txt мені потрібно знайти та замінити тисячі екземплярів синтаксису на зразок цього:

(див. (a053007djfgspwdf))

або

(див. (a053007djfgspwdf) та (a54134xsedgeg))

або

(див. (a053007djfgspwdf), (a9554xsdfgsdfg) та (a54134xsedgeg))

Між початковими (див. (A і кінцевими )) текстовими рядками існує велика різноманітність . Чи можна це налаштувати в Блокноті ++ за допомогою регексу? Якщо так, то як би я це зробив? Спасибі!

Відповіді:


17

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

Оскільки це завжди відображається як перший результат пошуку, я додаю це у:

  1. Відкрийте діалогове вікно пошуку / заміни ( CTRL+ Fпотім вкладка заміни)
  2. Поставте прапорець "Регулярний вираз" внизу
  3. Використовуйте. * Як підстановку

Наприклад, я хотів видалити всі екземпляри abp = "1314", abp = "1313", abp = "1312" і т. Д. (В основному цифри всі різні, тому ви хочете, щоб підстановка позбулася їх).

У діалоговому вікні заміни:

Знайдіть у чому: abp=".*"
Замініть на:

(Ви замінюєте що-небудь у цитатах нічим, щоб позбутися від нього)

Джерело: https://www.organicweb.com.au/17226/general-technology/notepad-wildcard/


15

Так, це може! Блокнот ++ має режим пошуку RegEx, який ви можете вибрати для всіх своїх потреб у заміні RegEx.

Наведений нижче приклад - це основна заміна для чого-небудь між, (see (a...))за винятком розриву рядка. Можливо, вам доведеться змінити RegEx або написати свій власний, щоб відповідати вашим потребам. Ось чудове місце, яке допоможе вам експериментувати.

RegEx: \(see \(a.+\)\)

Відповідні рядки:

(see (a053007djfgspwdf))
(see (a053007djfgspwdf) and (a54134xsedgeg))
(see (a053007djfgspwdf), (a9554xsdfgsdfg) and (a54134xsedgeg))


Замініть (див. (A ...)) заміну


Спасибі! Він знайшов екземпляри першого прикладу (див. (A053007djfgspwdf)), але не інших. Все-таки чудовий старт. Я пограю з ним, щоб побачити, що ще я можу зробити. Якщо у вас є додаткові пропозиції, я дуже вдячний. Знову дякую.
Майкл Так

Ви натиснули кнопку Замінити все або продовжуєте клацати на Замінити, щоб переглядати сірники, подібні до використання « Знайти далі» ? Чи шукається текст, який ви шукаєте, лише починається (see (aі закінчується ))? Якщо у вас є рядки, які закінчуються однією дужкою, ви можете перетворити останню \)в групу захоплення, (\)|)щоб відповідати рядкам, що закінчуються на ))"або" ).
one.time

Спробував кілька замінників, потім заміни всіх. Після цього пошуковий рядок нічого не знайшов. Текст для всіх такий: (див. Різноманітний текст )) Немає рядків з однією дужкою, крім, можливо, помилок друку.
Michael Tuck

Я оновив свою відповідь альтернативним RegEx, (\(see \(a|\(a)([^\)]+)\)(\)|)який відповідатиме рядкам у вашому запитанні.
one.time

LOL ви оновили свою відповідь, коли я редагував свою відповідь. Я спробую нову.
Michael Tuck

1

Спробуйте цю схему: \(see \(a(.*)\)і переконайтесь, що ". Відповідає новій лінії" невірно встановлено, і "обернути навколо" встановлено прапорець.


1

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

Я хотів видалити всі елементи моєї фігури на всій веб-сторінці. Малюнок 2.1, Рис. 1.1, ект.

Це було:

<p class="td1-content b8"><span class="stepNumber">2.  </span>Select Memo from the toolbar<br><b>Figure 2.1</b></p>

Я хотів, щоб це закінчилося:

 <p class="td1-content b8"><span class="stepNumber">2.  </span>Select Memo from the toolbar</p>

Але кожен

мав інший номер малюнка, тому я використав це в піднесеному тексті 2.

  1. ctrl H
  2. натисніть символ ". *" в нижньому правому куті піднесеного тексту 2, (регулярний вираз)
  3. набрав <br><b>Figure.*</b>
  4. замінити на: -лівий бланк

Це замінило всі мої екземпляри цифрами. помічаю, що я використав. * там, де були б цифри. Сподіваюсь, це допомагає.


0

Точний регулярний вираз, який вам знадобиться:

\(see \(\w+\)((, \(\w+\))*( and \(\w+\)))?\)

Наприклад:

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

Вибравши « Знайти все в поточному документі» , результатом буде:

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

Ви можете просто використовувати Замінити відповідно до ваших потреб.

Якщо ви хочете включити aтакож і в регулярний вираз, ви можете використовувати:

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