Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: С# и txt  (Прочитано 10211 раз)
0 Пользователей и 1 Гость смотрят эту тему.
sav-ledi
Участник

ru
Offline Offline

« : 09-05-2011 14:22 » 

Здравствуйте. Задача, первый курс универа:
в txt файле хранятся данные типа:

0000 001 06 00 00 110504 165736 165739 165744 000000 --- 5372 ---- 020 032314 059 ---- 0000 4164 --- 061305 0000 564164------------ ---
0000 001 06 00 00 110504 165624 165635 165746 000000 --- 1439 ---- 001 061827 023 ---- 0000 4249 --- 040402 0000 564249------------ ---
и т.п. много много раз..

Вопрос: как из этого файла взять 6ой, 7ой столбец и записать их в другой txt файл форматом даты?! 
Записан
Dale
Блюзмен
Команда клуба

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 09-05-2011 14:52 » 

Вопрос: как из этого файла взять 6ой, 7ой столбец...

Если ширина столбцов постоянна, то выделить их как подстроку.

Если нет и разделитель - пробел, то расщепить строку на подстроки по этому признаку, а потом взять нужные подстроки.

Как вариант - регулярное выражение, но это слишком мощный инструмент для такой задачи.

...и записать их в другой txt файл форматом даты?!

Самый простой способ - вставить в нужные позиции строки разделители частей даты.

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

Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.

Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard

Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
sav-ledi
Участник

ru
Offline Offline

« Ответ #2 : 09-05-2011 15:00 » 

Цитата
Если ширина столбцов постоянна, то выделить их как подстроку.

А как это сделать синтаксически?
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #3 : 09-05-2011 15:02 » 

sav-ledi, в смысле - синтаксически? Написать, как это делается?
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
sav-ledi
Участник

ru
Offline Offline

« Ответ #4 : 09-05-2011 15:13 » 

Цитата
Написать, как это делается?

Да, если это возможно. А именно деление одной большой строки на подстроки...
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #5 : 09-05-2011 15:28 » 

http://msdn.microsoft.com/en-us/library/aa904308%28v=VS.71%29.aspx
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Dale
Блюзмен
Команда клуба

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #6 : 09-05-2011 16:47 » 

деление одной большой строки на подстроки...

String.Substring Method (Int32, Int32) 

Retrieves a substring from this instance. The substring starts at a specified character position and has a specified length.

Namespace:  System
Assembly:  mscorlib (in mscorlib.dll)

Syntax
C#
Код:
public string Substring(
int startIndex,
int length
)


Parameters
startIndex
Type: System.Int32 - The zero-based starting character position of a substring in this instance.

length
Type: System.Int32 - The number of characters in the substring.

Return Value
Type: System.String - A String equivalent to the substring of length length that begins at startIndex in this instance, or Empty if startIndex is equal to the length of this instance and length is zero.
Записан

Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.

Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard

Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #7 : 09-05-2011 18:10 » new

Если разделитель - постоянный знак, не встречающийся в значениях столбцов, то гораздо лучше использовать Split, а не Substring.
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines