ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Поиск фрагмента строки[c#]
  #1  
Старый 27.05.2008, 18:04
MaDfUn
Познающий
Регистрация: 02.02.2007
Сообщений: 78
Провел на форуме:
1514596

Репутация: 49
По умолчанию Поиск фрагмента строки[c#]

Как организовать поиск фрагмента строки массива...
зы
заранее спс
 
Ответить с цитированием

  #2  
Старый 27.05.2008, 19:01
Jes
Постоянный
Регистрация: 16.04.2007
Сообщений: 398
Провел на форуме:
3371897

Репутация: 1462
По умолчанию

String.indexOf("фрагмент"); // это?
 
Ответить с цитированием

  #3  
Старый 27.05.2008, 19:34
MaDfUn
Познающий
Регистрация: 02.02.2007
Сообщений: 78
Провел на форуме:
1514596

Репутация: 49
По умолчанию

Вобщем, есть прога, которая считывает данные с текстового файла, надо чтобы пользователь вводил искомый текст, а выводило строку содержащую данный текст
Цитата:
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{

Console.WriteLine("Введіть назву файла");
string fname = "c:\\" + Console.ReadLine();
Console.WriteLine("Введіть текст для пошуку");
string ftext = Console.ReadLine();
if (!File.Exists(fname))
{
Console.WriteLine("{0} не існує", fname);
}
using (StreamReader sr = File.OpenText(fname))
{
string input;


input = null;
int c = 0;
while ((input = sr.ReadLine()) != null)
{
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{

Console.WriteLine("Введіть назву файла");
string fname = "c:\\" + Console.ReadLine();
Console.WriteLine("Введіть текст для пошуку");
string ftext = Console.ReadLine();
if (!File.Exists(fname))
{
Console.WriteLine("{0} не існує", fname);
}
using (StreamReader sr = File.OpenText(fname))
{
string input;


input = null;
int c = 0;
while ((input = sr.ReadLine()) != null)
{
//////////////////////////////////////////////////////////////////
// КАК ЕГО ПРАВИЛЬНО ПРИЛЕПИТЬ СЮДА???
///////////////////////////////////////////////////////////////////
string z=input.IndexOf(ftext);//????
if ( ?????? )
{
Console.WriteLine(input);
}

}

Console.WriteLine(c);
sr.Close();
}

Console.ReadKey();
}

}
}

if (z==null)
{
Console.WriteLine(input);
}

}

Console.WriteLine(c);
sr.Close();
}

Console.ReadKey();
}

}
}

Последний раз редактировалось MaDfUn; 27.05.2008 в 19:36..
 
Ответить с цитированием

  #4  
Старый 27.05.2008, 20:02
Jes
Постоянный
Регистрация: 16.04.2007
Сообщений: 398
Провел на форуме:
3371897

Репутация: 1462
По умолчанию

что-то вроде :
...
nput = null;
int c = 0;
while ((input = sr.ReadLine()) != null)
{
Код:
if ( input.indexOf("строка") > 0)
{
...
       нашли совпадение
...
}
}...

Последний раз редактировалось Jes; 27.05.2008 в 20:52..
 
Ответить с цитированием

  #5  
Старый 27.05.2008, 21:06
12usver12
Познающий
Регистрация: 12.12.2007
Сообщений: 81
Провел на форуме:
589075

Репутация: 53
По умолчанию

Держи элегантный код

string[] mass = new StreamReader(@"C:\12.txt",Encoding.Default).ReadTo End().Split(new string[] { "\r\n" }, StringSplitOptions.None);

foreach (string stroka in mass) { if (stroka.IndexOf(fText) != -1) { Console.WriteLine(stroka); } }
 
Ответить с цитированием

  #6  
Старый 27.05.2008, 21:49
Jes
Постоянный
Регистрация: 16.04.2007
Сообщений: 398
Провел на форуме:
3371897

Репутация: 1462
По умолчанию

12usver12 > а если файл больше 100 - 500 кб ?
 
Ответить с цитированием

  #7  
Старый 27.05.2008, 23:13
12usver12
Познающий
Регистрация: 12.12.2007
Сообщений: 81
Провел на форуме:
589075

Репутация: 53
По умолчанию

может ты хотел сказать если файл больше 5-10 мег ?
ну можно binaryreader , правда чуть больше гемора прибавится,
хотя ето наверна из методички какой то методы для студентов, наверно там подразумевается через ReadLine() тогда еще проще

Последний раз редактировалось 12usver12; 27.05.2008 в 23:22..
 
Ответить с цитированием

  #8  
Старый 27.05.2008, 23:27
Jes
Постоянный
Регистрация: 16.04.2007
Сообщений: 398
Провел на форуме:
3371897

Репутация: 1462
По умолчанию

/me последнее время привык экономить каждый байт ...
(не про C# )
 
Ответить с цитированием

  #9  
Старый 27.05.2008, 23:41
z01b
Постоянный
Регистрация: 05.01.2007
Сообщений: 508
Провел на форуме:
2360904

Репутация: 1393


По умолчанию

Было бы легче использовать regexp-ы. =\

Последний раз редактировалось z01b; 27.05.2008 в 23:44..
 
Ответить с цитированием

  #10  
Старый 28.05.2008, 00:08
MaDfUn
Познающий
Регистрация: 02.02.2007
Сообщений: 78
Провел на форуме:
1514596

Репутация: 49
По умолчанию

Цитата:
Сообщение от Jes  
что-то вроде :
...
nput = null;
int c = 0;
while ((input = sr.ReadLine()) != null)
{
Код:
if ( input.indexOf("строка") > 0)
{
...
       нашли совпадение
...
}
}...
Выдаёт ошибку:
Error 1 'string' does not contain a definition for 'indexOf' and no extension method 'indexOf' accepting a first argument of type 'string' could be found (are you missing a using directive or an assembly reference?) D:\Documents and Settings\Администратор\Мои документы\Visual Studio 2008\Projects\ConsoleApplication2\ConsoleApplicati on2\Program.cs 31 31 ConsoleApplication2
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обзор программ для очистки жёсткого диска v1ru$ Soft - Windows 21 17.01.2010 21:07
Поиск Seo софта Хозяин SЕО - тонкости, методы раскрутки 132 28.12.2009 11:23
Поиск руководства Николь Болталка 0 03.02.2004 14:57



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ