Поиск и замена текста между ^ и ~ в Notepad++

У меня есть большой текстовый файл, в котором я хочу удалить весь текст между символом ^ и символом~. Это также должно работать через линии.

Я попытался сделать обычный поиск и замену с помощью ^*~ в поле Найти и ничего в поле заменить, но он нашел 0 результатов.

4
задан Splendor
20.03.2023 9:50 Количество просмотров материала 2375
Распечатать страницу

4 ответа

это невозможно при обычном найти и заменить. Если вы используете Notepad++ 6, Вы можете воспользоваться новым движком регулярных выражений, который поддерживает PCRE (source).

пресс Ctrl + H открыть найти и заменить диалог и выполните следующие действия:

Find what:          \^.*?~
Replace with:       
Wrap around:        checked
Regular expression: selected
. matches newline:  checked

Теперь нажмите клавишу Alt + на для замены всех вхождений.

регулярное выражение в найти состоит из следующего:

  • \^ - это буквальный ^.
  • .*? - наименьшее количество символов, которое позволяет регулярному выражению совпадать.
  • ~ - это буквальный ~.
19
отвечен Dennis 2023-03-21 17:38

вы хотите искать \^.*?~ и убедится . матчи строки включена:

enter image description here

это так ^ имеет особое значение, совпадает с началом строки. Таким образом, нам нужно избежать его обратной косой чертой \^.

писать ^* будет соответствовать "любое количество начала строки в строке". .* матчи "любой символ", но по умолчанию они не совпадают строки.

7
отвечен Der Hochstapler 2023-03-21 19:55

попробуйте использовать это регулярное выражение в поле найти раздел \^[^~]*~ заменить все между ^ и ~ включительно.

2
отвечен barlop 2023-03-21 22:12

у меня было аналогичное требование замены с начальным и конечным символами. Это пришло из электронной почты outlook; hundereds членов, и я просто хотел, чтобы имена людей со всем удалены между <RemoveTextHere>.

Оригинал

First1 Last1 <First1.Last1@email.com>; First2 Last2 <First2.Last2@email.com>; First3 Last3 <First3.Last3@email.com>; First4 Last4 <First4.Last4@email.com>;

Деннис был близок к моему решению Find what: \^.*?~ но мне пришлось изменить мой символами Find what: \<.*?> затем я должен был удалить первый Слэш Find what: <.*?>.

Обновлено Find what: <.*?>; заменить пустой.

First1 Last1 ; First2 Last2 ; First3 Last3 ; First4 Last4

_

Специальные Символы:*,$,\,+,^,( и ),[,],{ и }

специальные символы описаны Джерри Джеремайя здесь https://stackoverflow.com/questions/37742519/notepad-wildcard .

0
отвечен SherlockSpreadsheets 2023-03-22 00:29

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх