2013-10-12 2 views
57

у меня символы, такие как, что в моем блокноте ++Удаление «NUL» персонажи

npp screenshot of NULs

Когда я пытаюсь скопировать всю строку, я не буду на самом деле копирования всего до «NUL»:

File:1 

Что я хочу сделать, это заменить те, что не нужно, чтобы быть ничем, поэтому я могу скопировать всю свою линию. Возможно, существует ключевое слово, которое сообщит notepad ++ (или любую другую программу, которая может помочь) заменить эти символы? Когда я выбираю его, используйте правый щелчок, а затем «очистите», его ушло - но я не хочу делать это один за другим.

Я не забочусь об удалении причины этой проблемы, только эффект (NULs)

ответ

72

Это может помочь, я Ф.И. мои файлы, как это: http://security102.blogspot.ru/2010/04/findreplace-of-nul-objects-in-notepad.html

В основном вам нужно замените символы \ x00 регулярными выражениями

+0

Да, это то, что я искал. Большое спасибо :) – user2618929

+3

Обратите внимание, что вы shuold попробуйте «\ x00», «\ 00» или «\ 0». Для меня \ x00 и \ 00 не работали.Мне нужно было использовать \ 0 для символа замены. –

+1

@JohnAugust большое спасибо за это. \ x00 продолжали находить «нормальные» пространства, а также символы NUL. –

1

Попробуйте найти и заменить. введите \ x00 В поле «Найти» установите флажок «Регулярное выражение». Оставить Заменить текстовое поле пустым и нажать «заменить все». короткий ключ для поиска и замены - Ctrl + H.

+1

Нет, он не работает так, я написал, что я не могу его скопировать. – user2618929

+6

найти с \ x00. Вам может потребоваться проверить параметр Regular expression. – Miller

+0

Вы должны использовать регулярное выражение, этот ответ неверен, поскольку, очевидно, вы можете скопировать прошлый специальный символ так же, как это – mahieddine

1

Выделите нулевой символ, замените его, как обычно, автоматически вставляя выделенный текст в поле поиска. Введите пробел или оставьте поле «Удалить».

+4

Это не работает с символом NUL в Notepad ++. Он работает со многими другими специальными символами ASCII, такими как BEL, но NUL можно найти только с помощью расширенных управляющих кодов или RegEx. – Ayelis

26

Щелкните Поиск -> Заменить -> Найти: \ 0 Заменить: «пустой» Режим поиска: Расширенный -> Заменить все

+0

Спасибо. Оно работает. –

+0

Что такое расширенный для? – rimiro

+0

@ rimiro расширен в том смысле, что специально экранированные символы (базовые метасимволы регулярных выражений, такие как \ n и т. Д.) Могут быть сопоставлены, а не просто введенные символы. – twobob

1

Я пытался использовать \ x00 и он не работает для меня при использовании C# и Regex. Я имел успех со следующим:

//The hexidecimal 0x0 is the null character 
mystring.Contains(Convert.ToChar(0x0).ToString()); 

// This will replace the character 
mystring = mystring.Replace(Convert.ToChar(0x0).ToString(), ""); 
0

Открыть Блокнот ++
Выберите Replace (Ctrl/H)
Найти: \ x00
Заменить:
Нажмите на Регулярное выражение радиокнопки
Нажмите на Заменить Все

2

У меня была такая же проблема. Вышесказанное поставило меня на правильный путь, но в моем случае это было не совсем правильно. Что же работа была тесно связана:

  • Откройте файл в блокноте ++
  • Тип Control-A (выбрать все)
  • Типа Control-H (заменить)
  • В 'Find What' типа «\ x00'
  • В 'Заменить' оставить BLANK
  • В 'Режим поиска' Selected 'Extended'
  • Затем нажмите на 'Заменить все'
Смежные вопросы