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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Текстовый файл и удаление символов в строке 
:(
    Опции темы
Ev1L
Дата 4.11.2010, 11:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Текстовый файл (его имя задать как параметр командной строки) содержит строки, часть которых начинается с символа #. Выбрать эти строки ,удалить символ # и записать измененные строки в том же порядке в файл output1.txt. Остальные строки (которые не начинаются с символа # ) в том же порядке записать в файл output2.txt.

Вот такая вот задача,помогите пожалуйста (самостоятельно ещё ничего не наработал,т.к. сегодня только получил это задание и понял,что не понял как это сделатьsmile)

Это сообщение отредактировал(а) Ev1L - 4.11.2010, 11:33
PM MAIL   Вверх
Fitc
Дата 4.11.2010, 15:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата
Текстовый файл (его имя задать как параметр командной строки) содержит строки, часть которых начинается с символа #. Выбрать эти строки ,удалить символ # и записать измененные строки в том же порядке в файл output1.txt. Остальные строки (которые не начинаются с символа # ) в том же порядке записать в файл output2.txt.

Вот такая вот задача,помогите пожалуйста (самостоятельно ещё ничего не наработал,т.к. сегодня только получил это задание и понял,что не понял как это сделатьsmile)


1)  взять из args[0] имя файла
2) взять строки из файла: string[] s1 = File.ReadAllLines("[путь]");
3) взять строки, которые начинаются с '#': 
Код

var s2=new List<string>();
var s3=new List<string>();
foreach(var str in s1)
if(str[0]=='#') s2.Add(str);
 else s3.Add(str);

4) убрать первую букву (мне лень смотреть посмотри сам - класс String)
5) записать строки в файлы: http://msdn.microsoft.com/en-us/library/6ka1wd3w.aspx
PM MAIL   Вверх
Ev1L
Дата 4.11.2010, 21:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



спасибо,именно то,как удалить символ в строке я и не знал.
Всё остальное же я знаю,но как это организовать у меня в мозгу не хватает ОЗУ_)
но буду пытаться.

Это сообщение отредактировал(а) Ev1L - 4.11.2010, 21:04
PM MAIL   Вверх
wester
Дата 4.11.2010, 22:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: 3
Всего: 13



Ev1L
String.Remove()
за разьяснением в msdn.
если все таки непонятно, могу наваять примерчик.
PM MAIL   Вверх
Ev1L
Дата 4.11.2010, 23:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



огромное всем спасибо
завтра буду лепить из этого что нибудь)
PM MAIL   Вверх
Ev1L
Дата 24.12.2010, 21:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



ещё такой вопросик:
задание :
В текстовом файле найти самую короткую(длинную) строку и записать её и её номер в другой файл.

как записать и всё такое я знаю)
мне нужен фрагмент кода, в котором осуществляется поиск самой короткой строки и её номер.
будьте любезны smile

Это сообщение отредактировал(а) Ev1L - 24.12.2010, 21:14
PM MAIL   Вверх
wester
Дата 24.12.2010, 21:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: 3
Всего: 13



Ev1L
Код

var finalLine="";
String line = "";
var count =0;
var countFinal=0;
using(var streamReader = new StreamReader(@"C:\file.txt))
{
    while((line=streamReader.ReadLine())!=null)
    {
        count++
        if(line.Length<len)
        {
            countFinal = count;
            finalLine = line;            
        }
    }
}

писал в блокноте,возможно есть ошибки, но идея понятна

Это сообщение отредактировал(а) wester - 24.12.2010, 21:43
PM MAIL   Вверх
Ev1L
Дата 25.12.2010, 18:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата

Ev1L
Код

var finalLine="";
String line = "";
var count =0;
var countFinal=0;
using(var streamReader = new StreamReader(@"C:\file.txt))
{
    while((line=streamReader.ReadLine())!=null)
    {
        count++
        if(line.Length<len)
        {
            countFinal = count;
            finalLine = line;            
        }
    }
}

писал в блокноте,возможно есть ошибки, но идея понятна

что-то не получается:(

Это сообщение отредактировал(а) Ev1L - 26.12.2010, 22:55
PM MAIL   Вверх
Kaerus
Дата 27.12.2010, 00:11 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


WPF'er
*


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

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



Попробуй
Код

string[] lines = File.ReadAllLines(path);
int max = Array.FindIndex(lines, s => s.Length == lines.Max(a => a.Length));


Самую короткую аналогично (max меняем на min)
Код

string[] lines = File.ReadAllLines(path);
int max = Array.FindIndex(lines, s => s.Length == lines.Min(a => a.Length));


Это сообщение отредактировал(а) Kaerus - 27.12.2010, 00:15
PM MAIL ICQ   Вверх
Ev1L
Дата 28.12.2010, 23:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



а можно подробно?( я новичек в программировании...не всё толком понимаю.
PM MAIL   Вверх
Kaerus
Дата 29.12.2010, 00:41 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


WPF'er
*


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

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



Можно проще
Код

// MSDN - http://msdn.microsoft.com/ru-ru/library/s2tte0y1.aspx
// Считывание всех строк из файла
string[] lines = File.ReadAllLines(@"D:\text_file.txt");

// MSDN - http://msdn.microsoft.com/ru-ru/library/bb535031.aspx
// Поиск длинны самой длинной строки
int maxLength = lines.Max(s => s.Length);

// MSDN - http://msdn.microsoft.com/ru-ru/library/03y7c6xy.aspx
// Поиск идекса строки длинна которой равна самой длинной
int index = Array.FindIndex(lines, s => s.Length == maxLength);

PM MAIL ICQ   Вверх
Ev1L
Дата 29.12.2010, 19:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Спасибо,работает=)
премного благодарен
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

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


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

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


 




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


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

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