Как удалить все символы, не входящие в ASCII, с помощью регулярных выражений и Notepad++?

Я много искал, но нигде не написано, как удалить не-ASCII символы из Notepad++.

Мне нужно знать, какую команду написать в find и заменить (с картинкой это было бы здорово).

  • Если я хочу составить белый список и добавить в закладки все слова/строки ASCII, чтобы не-ASCII-строки были помечены без метки

  • Если файл довольно большой и не может выделить все строки ASCII, а просто хочет выбрать строки, содержащие не-ASCII символы...

Ответ 1

Это выражение будет искать значения не ASCII:

[^\x00-\x7F]+

Отметьте "Режим поиска = Регулярное выражение" и нажмите Find Next.

Источник: Regex любой символ ASCII

Ответ 2

В Notepad++, если вы перейдете в меню "Поиск" → "Найти символы в диапазоне" → "Не-ASCII-символы" (128–255), вы можете перейти к документу для каждого не-ASCII-символа.

Ответ 3

В дополнение к ответу ProGM, если вы видите символы в полях типа NUL или ACK и хотите от них избавиться, это контрольные символы ASCII (от 0 до 31), вы можете найти их с помощью следующего выражения и удалить их:

[\x00-\x1F]+

Чтобы удалить все не-ASCII И ASCII управляющие символы, вы должны удалить все символы, соответствующие этому регулярному выражению:

[^\x1F-\x7F]+

Ответ 4

Чтобы удалить все символы, не входящие в ASCII, вы можете использовать следующую замену: [^\x00-\x7F]+

Removing non-ASCII

Чтобы выделить символы, я рекомендую использовать функцию Mark в окне поиска: она выделяет не-ASCII символы и ставит закладку в строках, содержащих один из них

Если вы хотите выделить и поставить закладку на символы ASCII, вместо этого вы можете использовать регулярное выражение [\x00-\x7F].

Highlighting Non-ASCII

ура

Ответ 5

Чтобы сохранить новые строки:

  • Сначала выберите символ для новой строки... Я использовал #.
  • Выберите опцию замены, расширенную.
  • введите \n замените на #
  • Hit Replace All

Далее:

  • Выберите вариант "Заменить" "Регулярное выражение".
  • Введите это: [^\x20-\x7E] +
  • Сохранить замену пустым.
  • Hit Replace All

Теперь выберите вариант "Заменить" "Расширенное" и "Заменить" # с помощью \n

:) теперь у вас есть чистый файл ASCII;)

Ответ 6

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

Ответ 7

Другой способ...

  • Установите плагин Text FX, если у вас его уже нет.
  • Перейдите в пункт меню TextFX → zap всех непечатаемых символов в #. Он заменит все недопустимые символы тремя символами
  • Перейдите в Find/Replace и найдите ###. Замените его пробелом.

Это хорошо, если вы не можете вспомнить регулярное выражение или не хотите его искать. Но регулярное выражение, упомянутое другими, также является хорошим решением.