Помощь - Поиск - Пользователи - Календарь
Полная версия: Замена кода спец. символа на сам символ.
Форум «Всё о Паскале» > Delphi, Assembler и другие языки. > Другие языки
Krjuger
У меня есть например вот такая строка.

string input = "(¬X^¬Y^Z)v(¬X^Y^¬Z)v(¬X^Y^Z)v(X^¬Y^Z)v(X^Y^¬Z)";

Я вывожу ее в textBox на форме.Как сделать в С# ,чтобы "¬" отображался в виде значка отрицания?

Блин, здесь они автоматически заменяются на нужный мне символ. В общем в строке вместо символов написано "& # 172;"
TarasBer
String.Replace
Krjuger
Видать я не совсем правильно выразиблся.Ладно попробуем так.
Если я счас ввиду "& # 172", но без пробелов и нажму отправить,но вместо этого я увижу символ ¬. Можно ли как нибудь сделать так,чтобы строка, введенная в коде программы при помощи вот этих кодов спецсимволов в textBox'e обображалась уже самими символами.Без непосредственных манипуляций с Replace.Там порядка 8 спец символов различных и для каждого делать Replace как то неправильно.Ведь на форуме они автоматически заменяются,неужели в текст боксах такого нет?
IUnknown
Форумы - это форумы, а компоненты, не предназначенные для HTML-рендеринга (вот в Qt компоненты предназначены для него, ты можешь просто написать в QLabel строку "<b><i>test</i></b>" и получишь выделенный и наклоненный текст, в Шарпе - нет).

Если б было не 172, а AC (т.е., в 16-ричном формате), то экранирование Юникодных символов:
"(\u00ACX^\u00ACY^Z)v(\u00ACX^Y^\u00ACZ)v(\u00ACX^Y^Z)v(X^\u00ACY^Z)v(X^Y^\u00ACZ)"
решает проблему. Десятичные коды записывать нельзя, к сожалению...
Krjuger
Пичально.Ладно,будем думать.
IUnknown
Можно Replace-ом заменить сразу все подобные коды на символы:

	textBox1.Text = 
Regex.Replace(
s, @"&#([0-9]{3});",
delegate(Match match)
{ return Char.ConvertFromUtf32(Convert.ToInt32(match.Value.Substring(2, 3))); }
);
Вот что получается:
Нажмите для просмотра прикрепленного файла
(вставил картинку, ибо форум опять сам всё заменит и будет не то, что нужно). В .NET 4 можно заменить делегат на "=>", насколько мне известно.
garri-potter
да регулярки рулят good.gif
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.