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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Поиск русских слов в файле, поиск слов файле 
:(
    Опции темы
exrame
Дата 1.3.2011, 15:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Привет

Подскажите, как построить поиск русских слов в текстовом файле. C #

Код

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.IO;

 

namespace searchTxtFile

{

  class searchTxt

  {

    static void Main()

    {
    
      string fName = @"c:\MyTest.txt ";//path to text file

      StreamReader testTxt = new StreamReader(fName);

      string allRead = testTxt.ReadToEnd();

      testTxt.Close(); 
      
    
    
      string regMatch = "qwe";
      
      
      if (Regex.IsMatch(allRead,regMatch))

      {

        Console.WriteLine("Найдено\n");

        
      }

      else

      {

        Console.WriteLine("Не найдено\n");
       

      }

      Console.ReadLine();
    }

    
  }
   
}


PM MAIL   Вверх
wester
Дата 1.3.2011, 15:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



exrame, 
конкретных или любых ?
PM MAIL   Вверх
exrame
Дата 1.3.2011, 15:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Хотя бы текстовых в .txt, .doc, .xls

Это сообщение отредактировал(а) exrame - 1.3.2011, 15:55
PM MAIL   Вверх
wester
Дата 1.3.2011, 16:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



exrame, 
нет, я не это спрашивал.
искать конкретные слова, или любые ?
PM MAIL   Вверх
exrame
Дата 1.3.2011, 16:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



слова берутся из базы данных, поиск только по одному слову или фразе. Если слово из бд есть в тексте, тогда вывести что есть такое слово.
PM MAIL   Вверх
exrame
Дата 1.3.2011, 18:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



подскажите как просто русские слова искать? через какую функцию? у меня есть пример, но она работает только с английским текстом.
PM MAIL   Вверх
Georgich
Дата 2.3.2011, 09:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



exrame, doc - это бинарный файл. Как-то я делал на коленке поиск в doc файле. Делается через Microsoft.Office.Interop.Word (подключается в ссылках).
Сам код поиска слова (не только русского) и добавление в listBox имени файла, который содержал это слово (задание такое было smile
Код

        //Поиск в файле
        private void FindInSelection(FileInfo f)
        {
            string[] keywords = textBox2.Text.Split(';');

            Object unit = Word.WdUnits.wdStory;
            Object extend = Word.WdMovementType.wdMove;
            WordApp.Selection.HomeKey(ref unit, ref extend);

            Word.Find fnd = WordApp.Selection.Find;
            fnd.ClearFormatting();

            foreach (string keyword in keywords)
            {
                Object findText = keyword;
                Object matchCase = Type.Missing;
                Object matchWholeWord = Type.Missing;
                Object matchWildcards = Type.Missing;
                Object matchSoundsLike = Type.Missing;
                Object matchAllWordForms = Type.Missing;
                Object forward = Type.Missing;
                Object wrap = Type.Missing;
                Object format2 = Type.Missing;
                Object replaceWith = Type.Missing;
                Object replace = Type.Missing;
                Object matchKashida = Type.Missing;
                Object matchDiacritics = Type.Missing;
                Object matchAlefHamza = Type.Missing;
                Object matchControl = Type.Missing;

                if (fnd.Execute(ref findText, ref matchCase, ref matchWholeWord,
                ref matchWildcards, ref matchSoundsLike, ref matchAllWordForms,
                ref forward, ref wrap, ref format2, ref replaceWith,
                ref replace, ref matchKashida, ref matchDiacritics,
                ref matchAlefHamza, ref matchControl))
                {
                    listBox1.Items.Add(f.Name);
                }
            }
        }

Пример тоже был взят с просторов интернетов и адаптирован под себя.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

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


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

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


 




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


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

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