Как заменить следующий символ пустым пробелом? - PullRequest
1 голос
/ 05 июня 2010

Одно из значений моего столбца с данными, как показано ниже,

альтернативный текст http://img101.imageshack.us/img101/200/datatable.jpg

Как заменить тот символ, который имеет квадратную форму, на \n или пустой пробел с помощью c #? Любое предложение ...

ClientAddress столбец содержит значение многострочного текстового поля ....

Указанный выше символ вставляется в мою таблицу из многострочного текстового поля, когда пользователь вводит слово, нажимает клавишу ввода и затем вводит другое слово ...

Ответы [ 4 ]

2 голосов
/ 05 июня 2010

Я бы сделал простую замену, но, поскольку вы не знаете точно, что это за символ, вам нужно обратиться к нему по-другому. Используя LINQ и string.Join, вы можете заменить любой управляющий символ новой строкой или пробелом и присвоить результат новой строке.

var printableClientAddress =
    string.Join( "", client.ClientAddress
                           .Select( c => char.IsControl(c)
                                            ? Environment.NewLine
                                            : c )
                           .ToArray() );
1 голос
/ 05 июня 2010

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

Если ваша ситуация такова, что квадрат всегда представляет клавишу Enter, и вы отображаете результаты в HTML, вам потребуется что-то вроде ClientAddress.Replace("\n", "<br>").

0 голосов
/ 05 июня 2010

Этот квадрат, вероятно, является символом, который не поддерживается вашей кодировкой.Вам нужно проверить, находится ли числовое значение каждого символа в пределах диапазона печати вашего набора символов, и если нет, заменить его.

0 голосов
/ 05 июня 2010

Вы можете использовать функцию Заменить :

UPDATE tablename
SET ClientAddress = Replace(ClientAddress, '□', '\n');

Где вам нужно изменить на то, что действительно находится в базе данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...