|
Проверка строки на невидимые/непечатающае символы
|
|||
---|---|---|---|
#18+
Всем привет. Така проблема, в общем после долгой отладки есть длинная строка, из за которой проблемы в гриде при отображении. Есть версия, что в этой строке есть невидимые/непечатающае символы. Подскажите, есть ли метод, проверить (foreach) пробежаться по строке и найти эти невидимые/непечатающае символы? Заранее спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2014, 17:40 |
|
Проверка строки на невидимые/непечатающае символы
|
|||
---|---|---|---|
#18+
char.IsWhiteSpace, char.IsSeparator, метод Trim класса String (у экземпляра). ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2014, 18:05 |
|
Проверка строки на невидимые/непечатающае символы
|
|||
---|---|---|---|
#18+
Ilya81char.IsWhiteSpace, char.IsSeparator, метод Trim класса String (у экземпляра). я правильно понял, проверять foreach (char c in MyString) { if (char.IsWhiteSpace(c) && char.IsSeparator(c)) { // есть непечатный символ } } и с Trim можна пояснить? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2014, 18:39 |
|
Проверка строки на невидимые/непечатающае символы
|
|||
---|---|---|---|
#18+
Ilya81char.IsWhiteSpace ... метод Trim класса String (у экземпляра). Неудачный совет. Пробельные символы трудно назвать непечатаемыми. Ilya81char.IsSeparator Спорно. Он поймает LineSeparator и ParagraphSeparator, но одновременно поймает и пробел. Я бы скорее попробовал char.IsControl() den_firstесть длинная строка, из за которой проблемы в гриде при отображении. Выложи скриншот. den_firstЕсть версия, что в этой строке есть невидимые/непечатающае символы. Почему ты так решил? Откуда эта строка приходит? Строка читается в правильной кодировке? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2014, 04:21 |
|
Проверка строки на невидимые/непечатающае символы
|
|||
---|---|---|---|
#18+
что такое непечатный ещё определиться нужно для начала убедиться, что Char.IsControl для каждого - ложь, Char.IsSurrogate -ложь если управляющих и суррогатных пар не окажется - смотреть дальше ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2014, 10:38 |
|
Проверка строки на невидимые/непечатающае символы
|
|||
---|---|---|---|
#18+
den_first, Задача для регулярных выражений В данном примере из строки удаляются все управляющие символы Код: c# 1.
Можно сконструировать любое множество символов из стандартных классов http://msdn.microsoft.com/ru-ru/library/20bw873z(v=vs.110).aspx#NegativeCategoryOrBlock ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2014, 22:12 |
|
Проверка строки на невидимые/непечатающае символы
|
|||
---|---|---|---|
#18+
Спасибо все, попробовал char.IsControl, было пару, убирал, не помогло. Потом начал методом исключения, уменьшать строку, до тех пор пока будет корректна, нашел это место и символы последующие, при котором перестает отображаться строка, символы ничем не отличаются, притом, что я и свои набирал, проверил длину в нескольких случаях, строка валидна при 32000 символов, свыше стает невалидной , не отображается в гриде и при наведении на ячейку падает с error. Хотя когда тект из книги вставил, там 54000, то строка также валидна, а вот когда идет тест с символами ( Например: (123456789012345678901234567890123456789012345678901234567890ffff); Bbbbbbbbbbbbbb [Company]; Bed, %34lookss (Watson & H111); BeeCont_________ (sklarArxCompanydd); belyi [Company]; belyi 21 (123456789012345678901234567890123456789012345678901234567890ffff); BFR [Company]; blast, D (Company 1387); bvv [Company]; C1228403850796 [Company]; C5 [Company]; Cain, Dean (Company 1387); Carey, Drew (Company 1387); Carol, Luis (Company 1387); C-C (D-D); Ccc [Company]; CGftMV7s, NYLijii8 (Company 1387); comm [Company]; commmm1 [Company]; .......) и т.д., то падает при длине больше 32000 Есть ли огриничение по строке символов? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2014, 12:15 |
|
Проверка строки на невидимые/непечатающае символы
|
|||
---|---|---|---|
#18+
den_first, Вы серьезно думаете, что кому-то надо грид, где в ячейках текст по 32 000 символов, то есть. примерно 16 страниц текста? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2014, 13:47 |
|
Проверка строки на невидимые/непечатающае символы
|
|||
---|---|---|---|
#18+
Cat2den_first, Вы серьезно думаете, что кому-то надо грид, где в ячейках текст по 32 000 символов, то есть. примерно 16 страниц текста? да, в этой ячейке содержаться приасаненные контакты, компании через запятую, есть другая формачка, где все это красиво разлаживается, но вот в таком виде тоже есть и что интересно, воспроизводится в Windows 8, в Windows 7 это все нормально отображается. У тестеров воспроизвелся на win 8, когда к митингу приасанино 1190 контактов и в гриде формируется строка через запятую названий этих контактов, процедура вытягивает эту строку, я ее вижу, в сорс передается, а вот в гриде не отображается и при наведении на эту ячейку падает с ошибкой EXCEPTION MESSAGE: A generic error occurred in GDI+. EXCEPTION TYPE: System.Runtime.InteropServices.ExternalException EXCEPTION SOURCE: System.Drawing STACK TRACE: at System.Drawing.Graphics.MeasureString(String text, Font font, SizeF layoutArea, StringFormat stringFormat) at Infragistics.Win.DrawUtility.MeasureStringHelper(Graphics gr, String text, Font font, Size layoutArea, StringFormat stringFormat, Int32& charactersFitted, Int32& linesFilled, Boolean returnElementsFitted, GdiDrawStringFlags drawStringFlags) at Infragistics.Win.DrawUtility.MeasureString(Graphics gr, String text, Font font, Int32 width, GdiDrawStringFlags drawStringFlags) at Infragistics.Win.DrawUtility.MeasureString(Graphics gr, String text, Font font, Int32 width, EmbeddableEditorOwnerBase owner, Object ownerContext) at Infragistics.Win.EditorWithTextUIElement.IsDataFullyVisibleHelperCLR2(Boolean checkClipRect) at Infragistics.Win.EditorWithTextUIElement.IsDataFullyVisibleHelper(Boolean checkClipRect) at Infragistics.Win.EditorWithTextUIElement.get_IsDataFullyVisible() at Infragistics.Win.UltraWinGrid.CellUIElementBase.CellToolTipHelper(ToolTipInfo& toolTipInfo) at Infragistics.Win.UltraWinGrid.CellUIElementBase.CellElementToolTipItem.Infragistics.Win.IToolTipItem.GetToolTipInfo(Point mousePosition, UIElement element, UIElement previousToolTipElement, ToolTipInfo toolTipInfoDefault) at Infragistics.Win.ControlUIElementBase.WillDisplayTooltipViaToolTipItem(UIElement elem) at Infragistics.Win.UIElement.OnMouseHover() at Infragistics.Win.ControlUIElementBase.NotifyMouseHover(UIElement element) at Infragistics.Win.ControlUIElementBase.OnHoverTimer_Tick(Object sender, EventArgs e) at System.Windows.Forms.Timer.TimerNativeWindow.WndProc(Message& m) at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2014, 14:19 |
|
Проверка строки на невидимые/непечатающае символы
|
|||
---|---|---|---|
#18+
den_firstда, в этой ячейке содержаться приасаненные контакты, компании через запятую, есть другая формачка, ну так прибиндить к формочке урезанное поле ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2014, 15:11 |
|
Проверка строки на невидимые/непечатающае символы
|
|||
---|---|---|---|
#18+
Изопропилden_firstда, в этой ячейке содержаться приасаненные контакты, компании через запятую, есть другая формачка, ну так прибиндить к формочке урезанное поле +1. Хотя вообще непонятно зачем пользователю то, что он не может нормально посмотреть? " в этой ячейке содержаться приасаненные контакты, компании через запятую" - это в таком виде в базе хранится? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2014, 15:25 |
|
Проверка строки на невидимые/непечатающае символы
|
|||
---|---|---|---|
#18+
Изопропилden_firstда, в этой ячейке содержаться приасаненные контакты, компании через запятую, есть другая формачка, ну так прибиндить к формочке урезанное поле возможно, если бы знать, что эт из за длины, сейчас получился сценарий, когда я эту строку уменьшил, те убрал ряд контактов, получилась строка больше 32000 и нормально сохранилась. Те сценарий со строкой в 32000 не стабилен. Поэтому вернусь к самому первому своему сообщению на то, что вероятно в этой строке какие то не валидные символы, из-за которых падает грид и как найти эти символы? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2014, 15:41 |
|
Проверка строки на невидимые/непечатающае символы
|
|||
---|---|---|---|
#18+
Cat2Изопропилпропущено... ну так прибиндить к формочке урезанное поле +1. Хотя вообще непонятно зачем пользователю то, что он не может нормально посмотреть? " в этой ячейке содержаться приасаненные контакты, компании через запятую" - это в таком виде в базе хранится? это в таком виде в базе хранится? в базе они нормально хранятся , один ко многим, один митинг- много контактов, а вот потом программно формируется строка через точку запятой ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2014, 15:51 |
|
|
start [/forum/topic.php?fid=20&msg=38845769&tid=1402068]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
29ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
others: | 373ms |
total: | 484ms |
0 / 0 |