поиск в тестовом доке

maks_sim

Client
Регистрация
26.03.2015
Сообщения
182
Благодарностей
12
Баллы
18
как осуществить поиск в доке определенных взятых с переменной слов-сочетаний и класть если нашел в переменную номер строки в которой нашел их
 

patlat

Client
Регистрация
21.09.2016
Сообщения
175
Благодарностей
47
Баллы
28
как осуществить поиск в доке определенных взятых с переменной слов-сочетаний и класть если нашел в переменную номер строки в которой нашел их
пример покажите, а то не понятно
 

Ribas

Client
Регистрация
31.05.2014
Сообщения
1 440
Благодарностей
503
Баллы
113
Если стандартными кубиками, то перебором - устанавливаем счётчику значение 1, закидываем текст в список, берём построчно с удалением и через регулярку ищем нужное вхождение, нашли - заканчиваем проверку, не нашли - увеличиваем счётчик на 1 и снова берём строку.
 

maks_sim

Client
Регистрация
26.03.2015
Сообщения
182
Благодарностей
12
Баллы
18
пример (Идет дождь дети хотят на улицу) /(собака сорвалась и выбежала на улицу искупалась в луже который оставил после себя дождь ) надо чтобы слова дождь и слова улицу вытащить в переменную
 

maks_sim

Client
Регистрация
26.03.2015
Сообщения
182
Благодарностей
12
Баллы
18
в тексте может быть до 1000 слов кубиками нереально долго
 

AloneSlamer

Client
Регистрация
29.01.2013
Сообщения
1 404
Благодарностей
362
Баллы
83

Обращаем Ваше внимание на то, что данный пользователь заблокирован.
Не рекомендуем проводить с AloneSlamer какие-либо сделки.

если слово последнее то регуляркой.
 

maks_sim

Client
Регистрация
26.03.2015
Сообщения
182
Благодарностей
12
Баллы
18
а есле несколько слов в разных местах
 

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 122
Баллы
113
Блин, объяснили бы нормально что нужно, давно бы уже помогли. На данный момент нихрена не понятно!
 

patlat

Client
Регистрация
21.09.2016
Сообщения
175
Благодарностей
47
Баллы
28
потёр
 

patlat

Client
Регистрация
21.09.2016
Сообщения
175
Благодарностей
47
Баллы
28
чтот у меня пропал шильдик для кода
 

patlat

Client
Регистрация
21.09.2016
Сообщения
175
Благодарностей
47
Баллы
28
всё нашёл)
вот так можно

Код:
string str1 = "Идет дождь дети хотят на улицу";
            string str2 = "собака сорвалась и выбежала на улицу искупалась в луже который оставил после себя дождь";

            for (int d = 0; d < 1; d++) // кол - во строк для обработки
            {
                string[] str1Mass = str1.Replace(".", "").Split(' '); // загон строки в массив и обрезка точки в конце
                string[] str2Mass = str2.Replace(".", "").Split(' '); // тоже самое

                string str3 = null;

                for (int i = 0; i < str1Mass.Length; i++) // берём в обработку строку
                {

                    for (int s = 0; s < str2Mass.Length; s++) //

                    {
                        if (str1Mass[i] == str2Mass[s]) str3 += str2Mass[s] + " ";
                    }

                }

                if (str3 != null) File.AppendAllText("test.txt", (d + 1) + " " + str3 + Environment.NewLine, Encoding.UTF8); // сохраняем срвподение в файл в формате (№строки 1совподен 2совпод ....)
             }
 

patlat

Client
Регистрация
21.09.2016
Сообщения
175
Благодарностей
47
Баллы
28
в первый цикл необходимо подгружать строки из массива, я не знаю вашей логике, поэтому ничего не прописывал, а просто взял существующую строку
 

maks_sim

Client
Регистрация
26.03.2015
Сообщения
182
Благодарностей
12
Баллы
18
спс буду побывать
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 041
Баллы
113
C#:
string str1 = "Идет дождь дети хотят на улицу";
string str2 = "собака сорвалась и выбежала на улицу искупалась в луже который оставил после себя дождь";
string[] str1Mass = str1.Replace(".", "").Split(' '); // загон строки в массив и обрезка точки в конце
string[] str2Mass = str2.Replace(".", "").Split(' '); // тоже самое

var resultList = new List<string>();

resultList = str1Mass.Intersect(str2Mass).ToList();

foreach (var ans in resultList)
{
    // сохраняй куда надо, в файл или перемуную
    project.SendInfoToLog("", "Слово --> " + ans, true);
}
 
  • Спасибо
Реакции: patlat

patlat

Client
Регистрация
21.09.2016
Сообщения
175
Благодарностей
47
Баллы
28
краткость. сестра таланта)
 

S16er1um

Client
Регистрация
14.04.2016
Сообщения
826
Благодарностей
240
Баллы
43
в тексте может быть до 1000 слов кубиками нереально долго
1000 слов это смешные объемы. для кубиков это даже меньше секунды.
то что у вас в PM оно медленно отрабатывает, так это для ваших глаз демонстрация. Запустите в ЗП проэкт и увидите на сколько "медленно" все происходит)
 
  • Спасибо
Реакции: masterLomaster

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)