Найти нужно значение в списке

Шива

Client
Регистрация
05.02.2018
Сообщения
1 084
Благодарностей
339
Баллы
83
Есть список
ОВОЩИ;огурцы;кабачки;брюква;федор емельяненко;неманго
ФРУКТЫ;апельсин;ананас;манго;
Во входной переменной имеется манго
Как найти именно манго и взять в переменную именно ФРУКТЫ
Желательно на C#
 

Mikhail B.

Moderator
Регистрация
23.12.2014
Сообщения
14 328
Благодарностей
5 431
Баллы
113
На кубах вобще не проблема, если надо будет пиши)
 

kagorec

Client
Регистрация
24.08.2013
Сообщения
923
Благодарностей
477
Баллы
63

inotoxic

Client
Регистрация
20.04.2015
Сообщения
354
Благодарностей
162
Баллы
43
Код:
var textToSearch = project.Variables["textToSearch"].Value; //Переменная с словом для поиска
var sourceList = project.Lists["list"];//список в котором ищем
for(int i=0; i < sourceList.Count; i++)
    {
        var str = sourceList[i];
        string[] words = new string []{str};
            words = str.Split(';');
            for (int j = 0;  j< words.Length; j++)
                {
                    var s = words[j];
                     if (s==textToSearch)
                    project.Variables["str"].Value = str;//В перменную "str" - вернется строка вхождения из списка
                }               
    }
 
  • Спасибо
Реакции: Rimen и Шива

Шива

Client
Регистрация
05.02.2018
Сообщения
1 084
Благодарностей
339
Баллы
83
Код:
var textToSearch = project.Variables["textToSearch"].Value; //Переменная с словом для поиска
var sourceList = project.Lists["list"];//список в котором ищем
for(int i=0; i < sourceList.Count; i++)
    {
        var str = sourceList[i];
        string[] words = new string []{str};
            words = str.Split(';');
            for (int j = 0;  j< words.Length; j++)
                {
                    var s = words[j];
                     if (s==textToSearch)
                    project.Variables["str"].Value = str;//В перменную "str" - вернется строка вхождения из списка
                }             
    }
А как сделать так что бы переменная textToSearch бралась из списка ?
То есть мы один список натравливаем на другой а в третий список писалось такое
ОВОЩИ;брюква
И так пока весь список входной не кончится.
Список в котором ищем постоянный
 

inotoxic

Client
Регистрация
20.04.2015
Сообщения
354
Благодарностей
162
Баллы
43
А как сделать так что бы переменная textToSearch бралась из списка ?
Код:
var listSearch = project.Lists["list"];//список с поисковыми словами, (каждое слово с новой строки)
var sourceList = project.Lists["list2"];//список в котором ищем
var destlist = project.Lists["list3"];//список в который возвращаем найденные строки из списка "sourceList"

for(int z=0; z < listSearch.Count; z++)
{
var strsearch = listSearch[z];
for(int i=0; i < sourceList.Count; i++)
    {
        var str = sourceList[i];
        string[] words = new string []{str};
            words = str.Split(';');
            for (int j = 0;  j< words.Length; j++)
                {
                    var s = words[j];
                     if (s==strsearch)
                    destlist.Add(str);//добавляем найденную строку в список
                }             
    }   
}
 
  • Спасибо
Реакции: Шива

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113
C#:
var list_1 = project.Lists["LIST_1"];//список с поисковыми словами
var list_2 = project.Lists["LIST_2"];//список в котором ищем

for (int i1 = 0; i1 < list_1.Count; i1++)
{
    var str = list_1[i1];
    for (int i2 = 0; i2 < list_2.Count; i2++)
    {
        var words = list_2[i2].Split(';');
        if (words.Contains(str))
        {
            FileSystem.FileAppendString(project.Directory + "\\Result.txt", words[0] + ";" + str, true);
        }
    }           
}
 
  • Спасибо
Реакции: Шива

Шива

Client
Регистрация
05.02.2018
Сообщения
1 084
Благодарностей
339
Баллы
83
C#:
var list_1 = project.Lists["LIST_1"];//список с поисковыми словами
var list_2 = project.Lists["LIST_2"];//список в котором ищем

for (int i1 = 0; i1 < list_1.Count; i1++)
{
    var str = list_1[i1];
    for (int i2 = 0; i2 < list_2.Count; i2++)
    {
        var words = list_2[i2].Split(';');
        if (words.Contains(str))
        {
            FileSystem.FileAppendString(project.Directory + "\\Result.txt", words[0] + ";" + str, true);
        }
    }          
}
А как сделать так что бы при нахождении искомого слова бралось уже следующее значение?
 

inotoxic

Client
Регистрация
20.04.2015
Сообщения
354
Благодарностей
162
Баллы
43
А как сделать так что бы при нахождении искомого слова бралось уже следующее значение?
А этот код разве не так работает?
В цикле перебирает слова из первого списка во втором и при нахождении сохраняет в - Result.txt
 

Шива

Client
Регистрация
05.02.2018
Сообщения
1 084
Благодарностей
339
Баллы
83
А этот код разве не так работает?
В цикле перебирает слова из первого списка во втором и при нахождении сохраняет в - Result.txt
Он идет дальше проверять по нему.
А хотелось что бы когда нашло брало следущее слово.
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113
  • Спасибо
Реакции: Шива

Rimen

Client
Регистрация
28.10.2019
Сообщения
405
Благодарностей
236
Баллы
43
Код:
var textToSearch = project.Variables["textToSearch"].Value; //Переменная с словом для поиска
var sourceList = project.Lists["list"];//список в котором ищем
for(int i=0; i < sourceList.Count; i++)
    {
        var str = sourceList[i];
        string[] words = new string []{str};
            words = str.Split(';');
            for (int j = 0;  j< words.Length; j++)
                {
                    var s = words[j];
                     if (s==textToSearch)
                    project.Variables["str"].Value = str;//В перменную "str" - вернется строка вхождения из списка
                }              
    }
Правильный рабочий код.
Спасибо автору!!!
 

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