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

Шива

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

Mikhail B.

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

kagorec

Client
Регистрация
24.08.2013
Сообщения
979
Благодарностей
523
Баллы
93

inotoxic

Client
Регистрация
20.04.2015
Сообщения
354
Благодарностей
164
Баллы
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 088
Благодарностей
341
Баллы
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
Благодарностей
164
Баллы
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 041
Баллы
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 088
Благодарностей
341
Баллы
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
Благодарностей
164
Баллы
43
А как сделать так что бы при нахождении искомого слова бралось уже следующее значение?
А этот код разве не так работает?
В цикле перебирает слова из первого списка во втором и при нахождении сохраняет в - Result.txt
 

Шива

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

ssXXXss

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

Rimen

Client
Регистрация
28.10.2019
Сообщения
406
Благодарностей
253
Баллы
63
Код:
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)