Как найти и удалить управляющие символы в текстовом файле - PullRequest
1 голос
/ 19 июля 2011

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

Ответы [ 2 ]

4 голосов
/ 19 июля 2011

Вот трюк, который я выбрал из devdaily.com :

tr -cd '\11\12\15\40-\176' < file-with-binary-chars > clean-file

Эта команда удаляет любой символ, который не является символом табуляции, перевода строки, возврата каретки или находится в диапазонепечатных символов ASCII (пробел через ~).

В Windows вы можете получить команду tr из Утилиты GNU для Win32 или Cygwin .

3 голосов
/ 19 июля 2011

кусок кода на c # - не очень оптимизирован для большого количества управляющих символов. подсказка для запуска:

StreamReader sr = new StreamReader(@"c:\temp.data\big_file_with_unwanted_chars.txt", Encoding.Default);
StreamWriter sw = new StreamWriter(@"c:\temp.data\big_file_without_any_evil_chars.txt", false, Encoding.Default);

string al;

while (!sr.EndOfStream)
{
  al = sr.ReadLine();
  al = al.Replace("ä", "");
  al = al.Replace("#", "");
  sw.WriteLine(al);
}
sw.Close();
sr.Close();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...