ГЛАВНАЯ     АРХИВ     НАПИСАТЬ АДМИНУ     ПОДПИСАТЬСЯ НА RSS     ВОЙТИ      

Поиск

Категории

Облако тегов

  << Предыдущий пост       Следующий пост >>  
От: inbruk
28. ноября 2010 03:33

Иногда может понадобиться отобразить или напечатать входную строку, которая содержит не печатные символы (бинарные данные) символы. Также может потребоваться очистить от не печатных символов строку, полученную снаружи системы, перед ее сохранением внутри. Удаление производится следующим образом: разбиваем строку на символы и проверяем последовательно каждый символ, если символ управляющий, то удаляем его из строки. Все управляющие символы (для .Net) являются не печатными. Собственно удалять символы не выгодно с точки зрения производительности. Вместо этого используется конструирование новой строки с помощью StringBuilder с пропуском не печатных символов. Проверка символа делается с помощью структуры Char. У нее есть метод IsControl, который позволяет узнать является ли текущий символ управляющим. Подразумевается, что все управляющие символы не печатные. Следующий пример показывает, как сделать это на C#.


using System;
using System.Text;

namespace ConsoleApplication1
{
class Program
{
static void Main( string[] args )
{
Random r = new Random();
int length = 1000;
StringBuilder sb = new StringBuilder( length );
for (int i = 0; i < length; i++)
{
sb.Append( (char)r.Next( 255 ) );
}
string s = sb.ToString();
s = CleanString( s );
Console.WriteLine( s );
Console.ReadKey(true);
}
static public string CleanString( string s )
{
if (s != null && s.Length > 0)
{
StringBuilder sb = new StringBuilder( s.Length );
foreach (char c in s)
{
if (Char.IsControl(c) == true)
continue;
sb.Append(c);
}
s = sb.ToString();
}
return s;
}
}
}

Похожие записи


Вопросы на собеседовании C#, Net, ASP.NET, SQL
Продолжая тему вопросов на собеседовании. Нашел еще одну подборку. Оригинал лежит здесь . Перенес, чтобы не затерялось. Есть вполне вменяемые ответы (хотя, на некоторые вопросы ответил бы по-другому). Ответы находятся после списка вопросов, я их не менял. 23. Что такое шаблон проектирования Model/View/Controller? Как и зачем его применяют? 2...

Способы заработка на сайте
На этом блоге было много постов про производство и раскрутку сайтов. Но пока не было про заработок на них. Пора исправить этот недочет. Здесь будут описаны по возможности не фантастичные, и не супер низко прибыльные способы. Также упор будет сделан именно на организацию процесса, а не технических деталях, которых в обилии в интернете. Несмотря на то, что как пр...

Silverlight, HTML5 и непрозрачная стратегия развития Microsoft
Оригинал статьи взят отсюда: Silverlight, HTML5 и непрозрачная стратегия развития Microsoft Автор: Peter Bright Переводчик: Mairon     По непонятным мне на данный момент причинам, похоже, что многие разработчики, присутствовавшие на недавней конференции PDC-2010 (Крупнейшая конференция Microsoft для разработчиков — Прим. переводчика), были сильн...

Комментарии

 
nobelwerfer 29.07.2011 18:45:02 #

ну, студенты первого курса будут довольны

Добавить комментарий




biuquote
  • Комментарий
  • Предпросмотр
Loading


  Сохранить комментарий