Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Символы перевода коретки, Как их устранить из строки? 
:(
    Опции темы
EgoBrain
Дата 12.11.2008, 13:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 537
Регистрация: 23.3.2008
Где: Комната

Репутация: нет
Всего: 2



Как устранить символы перевода коретки (переводы строк) в строках (string) получаемых из файла? А то при выводе строки выводятся какие-то квадратики... И еще когда я работаю со строкой имеющей переводы коретки возникают проблемы с поиском вхождений подстроки, когда искомое вхождение разбито по строкам.

Код

string FirstStr = "123" + "\n" + "456";
string SecondStr = FirstStr.Replace("34", " "); //Не работает

PM MAIL ICQ Skype   Вверх
Freak_FB
Дата 12.11.2008, 13:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ктулхувед
**


Профиль
Группа: Участник
Сообщений: 296
Регистрация: 13.10.2006

Репутация: 1
Всего: 4



А причём тут 34?
Пишем: string.Replace(шо_заменить, на_шо_заменить)
В твоём случае - Replace('\n', ' ')



--------------------
user posted image
user posted image
Тонет Ктулху, все медведы горят в огне.
Я Креведко, очень страшно сегодня мне.

PM MAIL ICQ Skype GTalk Jabber   Вверх
EgoBrain
Дата 12.11.2008, 13:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 537
Регистрация: 23.3.2008
Где: Комната

Репутация: нет
Всего: 2



Пробовал заменить все "\n" на "" - не помогло, в контрол все равно выводятся "квадратики". Может все дело в версии перегрузки (string, char)?
PM MAIL ICQ Skype   Вверх
diadiavova
Дата 12.11.2008, 15:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 31
Всего: 142



Перевод строки, в зависимости от формата, может представляться тремя способоми. Наиболее распространённым является последовательность символов 13 и 10, в некоторых форматах это только 13, а ещё реже - только 10. Если вместо перевода строк появляется два квадратика - это первый вариант, в остальных случаях просто надо проверить как в данном документе осуществляется перевод строк.
Чтобы создать переменные, вмещающие нужные символы, в шарпе, видимо, есть свои приёмы, только я на нём не пишу, поэтому опишу метод общий для всех языков
Код

string c13  = Char.ConvertFromUtf32(13);
string c10  = Char.ConvertFromUtf32(10);

Ну и, собсно, эти строки и надо заменять.


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
EgoBrain
Дата 13.11.2008, 10:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 537
Регистрация: 23.3.2008
Где: Комната

Репутация: нет
Всего: 2



Спасибо, щас попробую.
PM MAIL ICQ Skype   Вверх
mr.DUDA
Дата 13.11.2008, 11:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232



Цитата(diadiavova @  12.11.2008,  15:32 Найти цитируемый пост)
string c13  = Char.ConvertFromUtf32(13);
string c10  = Char.ConvertFromUtf32(10);

"\r" и "\n" никто не отменял, даже в шарпе.



--------------------
user posted image
PM MAIL WWW   Вверх
diadiavova
Дата 13.11.2008, 13:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 31
Всего: 142



Цитата(mr.DUDA @  13.11.2008,  11:14 Найти цитируемый пост)
"\r" и "\n" никто не отменял, даже в шарпе.

Я как раз про шарп и писал, что не знаю его как следует. На васике(на котором я пишу) есть просто набор констант для этих целей, а способ, который я предложил - универсальный, для всех языков.


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
Rififi
Дата 13.11.2008, 13:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1254
Регистрация: 9.3.2008

Репутация: 5
Всего: 36



Regex.Replace(FirstStr, @"\r?\n", "");
PM MAIL   Вверх
EgoBrain
Дата 13.11.2008, 14:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 537
Регистрация: 23.3.2008
Где: Комната

Репутация: нет
Всего: 2



Не поймите меня не правильно, но с регулярными выражением это перебор smile . А ошибка моя была в невнимательности и в том, что проблему поверхностно наскорую пытался решить... 
В общем так: 
Код

string inputstr = "some text" + "\n" + "some text" + ... + "\r" + ...;
inputstr = inputstr.Replace("\n", string.Empty);
inputstr = inputstr.Replace("\r", string.Empty);
 
Просто вызвал метод класса и не перезаписывал переменную. Кстати как с этим в С++, когда вызывается функция возвращающая результат в пустоту?

Это сообщение отредактировал(а) EgoBrain - 13.11.2008, 14:35
PM MAIL ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0501 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.