Помощь - Поиск - Пользователи - Календарь
Полная версия: Замена кода спец. символа на сам символ.
Форум «Всё о Паскале» > Современный Паскаль и другие языки > Ада и другие языки
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
nishaknapp
Why not settling on games that is fun and at the same time your earning. Well itll make suspense because of the game as well but dude just try it and it gave me hope while pandemic is real rn. 3 Key Reasons Why People Choose To Play Baccarat Online
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.