ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |
|
Поиск фрагмента строки[c#] |

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

27.05.2008, 19:01
|
|
Постоянный
Регистрация: 16.04.2007
Сообщений: 398
Провел на форуме: 3371897
Репутация:
1462
|
|
String.indexOf("фрагмент"); // это?
|
|
|

27.05.2008, 19:34
|
|
Познающий
Регистрация: 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..
|
|
|

27.05.2008, 20:02
|
|
Постоянный
Регистрация: 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..
|
|
|

27.05.2008, 21:06
|
|
Познающий
Регистрация: 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); } }
|
|
|

27.05.2008, 21:49
|
|
Постоянный
Регистрация: 16.04.2007
Сообщений: 398
Провел на форуме: 3371897
Репутация:
1462
|
|
12usver12 > а если файл больше 100 - 500 кб ?
|
|
|

27.05.2008, 23:13
|
|
Познающий
Регистрация: 12.12.2007
Сообщений: 81
Провел на форуме: 589075
Репутация:
53
|
|
может ты хотел сказать если файл больше 5-10 мег ?
ну можно binaryreader , правда чуть больше гемора прибавится,
хотя ето наверна из методички какой то методы для студентов, наверно там подразумевается через ReadLine() тогда еще проще
Последний раз редактировалось 12usver12; 27.05.2008 в 23:22..
|
|
|

27.05.2008, 23:27
|
|
Постоянный
Регистрация: 16.04.2007
Сообщений: 398
Провел на форуме: 3371897
Репутация:
1462
|
|
/me последнее время привык экономить каждый байт ...
(не про C# )
|
|
|

27.05.2008, 23:41
|
|
Постоянный
Регистрация: 05.01.2007
Сообщений: 508
Провел на форуме: 2360904
Репутация:
1393
|
|
Было бы легче использовать regexp-ы. =\
Последний раз редактировалось z01b; 27.05.2008 в 23:44..
|
|
|

28.05.2008, 00:08
|
|
Познающий
Регистрация: 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
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|