Получить номер строки в которой находится определенный текст

diamlan

Client
Регистрация
14.09.2019
Сообщения
112
Благодарностей
18
Баллы
18
Имеется список стран порядок которых в списке постоянно меняется

ALBANIA
AUSTRIA
BELARUS
BOSNIA AND HERZEGOVINA
BULGARIA
CROATIA
CYPRUS
CZECH REPUBLIC
DENMARK
ESTONIA

нужно получить номер строки в котором находиться например AUSTRIA (при каждой загрузке страницы порядок меняется)

Как можно сделать?
 

Valandersi

Client
Регистрация
19.01.2015
Сообщения
1 924
Благодарностей
1 123
Баллы
113
Получить строку которая содержит AUSTRIA. Это 1 кубик стандартный
 
  • Спасибо
Реакции: masterLomaster

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 436
Благодарностей
9 132
Баллы
113
нужно получить номер строки в котором находиться например AUSTRIA
Если же все же нужен именно номер строки.

Взять номера всех строк если есть вхождения:

C#:
var list = project.Lists["List"];
string str = project.Variables["Var"].Value;
string numStr = string.Empty;
for (int i = 0; i < list.Count; i++)
{
    if (list[i].Contains(str))
        numStr += i + "\r\n";
}
return numStr.Trim();
Взять номер строки первого вхождения:

C#:
var list = project.Lists["List"];
string str = project.Variables["Var"].Value;
string numStr = string.Empty;
for (int i = 0; i < list.Count; i++)
{
    if (list[i].Contains(str))
        return i;
}
return -1;

PS: Большая просьба, на будущее - называть тему более конкретно, чтобы отражалась краткая суть вопроса или проблемы, не общей фразой.
 

diamlan

Client
Регистрация
14.09.2019
Сообщения
112
Благодарностей
18
Баллы
18
  • Спасибо
Реакции: Valandersi

Burklive

Client
Регистрация
10.05.2017
Сообщения
123
Благодарностей
33
Баллы
28
Мне нужен номер строки который содержит слово "AUSTRIA" который я смогу положить в переменную)
Создаешь счетчик с изначальным значение 1. Далее берешь первую строку (значит строка номер 1) и проверяешь её условием на AUSTRIA к примеру, если подходит то номер строки 1 если нет, то берешь следующую строку (значение счётчика 2 - номер строки 2) и так далее. Это реализация число логикой кубиков.
 
  • Спасибо
Реакции: Dimson

diamlan

Client
Регистрация
14.09.2019
Сообщения
112
Благодарностей
18
Баллы
18
Спасибо нашёл решение через C# код который скинули
 

Kinomanius

Активный пользователь
Регистрация
20.01.2020
Сообщения
184
Благодарностей
26
Баллы
28
А можно подробнее объяснить что делает код выше, вставил его в проект вообще ничего не ясно.
Понял лишь что он взаимодействует со списком, но чё куда дальше не ясно
 

Kinomanius

Активный пользователь
Регистрация
20.01.2020
Сообщения
184
Благодарностей
26
Баллы
28
А всё разобрался, не нужно
 
  • Спасибо
Реакции: Sergodjan

Gunjubasik

Client
Регистрация
30.05.2019
Сообщения
3 528
Благодарностей
1 324
Баллы
113
Подскажите пожалуйста, вот дали в теме С# код, который поможет получить номер строки - определенного слова в списке. Но как его применить с моим списком - я не знаю. (Не изучал c#)

Сам С# код для кубика, как я понял, который поможет мне это сделать:

C#:
var list = project.Lists["List"];
string str = project.Variables["Var"].Value;
string numStr = string.Empty;
for (int i = 0; i < list.Count; i++)
{
    if (list[i].Contains(str))
        return i;
}
return -1;
А вот код, после того, когда я попытался его заполнить методом тыка:
C#:
var list = project.Lists["AllTimes.txt"];
string str = project.Variables["{-Variable.Variable3-}"].Value;
string numStr = string.Empty;
for (int i = 0; i < list.Count; i++)
{
    if (list[i].Contains(str))
        return i;
}
return -1;
51632

Детали:

Список в котором все слова:
{-Project.Directory-}AllTimes.txt
Переменная со словом, которое хочу найти: {-Variable.Variable3-}
Найденный номер строки - должен уйти в переменную: {-Variable.TimeTest-}


Заранее, очень благодарен за помощь!
 
Последнее редактирование:

Allabart23

Client
Регистрация
15.09.2019
Сообщения
30
Благодарностей
13
Баллы
8
Подскажите пожалуйста, вот дали в теме С# код, который поможет получить номер строки - определенного слова в списке. Но как его применить с моим списком - я не знаю.

Сам С# код для кубика, как я понял, который поможет мне это сделать:
C#:
var list = project.Lists["List"];
string str = project.Variables["Var"].Value;
string numStr = string.Empty;
for (int i = 0; i < list.Count; i++)
{
    if (list[i].Contains(str))
        return i;
}
return -1;
А вот код, после того, когда я попытался его заполнить методом тыка:
C#:
var list = project.Lists["AllTimes.txt"];
string str = project.Variables["{-Variable.Variable3-}"].Value;
string numStr = string.Empty;
for (int i = 0; i < list.Count; i++)
{
    if (list[i].Contains(str))
        return i;
}
return -1;

Детали:

Список в котором все слова:
{-Project.Directory-}AllTimes.txt
Переменная со словом, которое хочу найти: {-Variable.Variable3-}
Найденный номер строки - должен уйти в переменную: {-Variable.TimeTest-}


Заранее, очень благодарен за помощь!
Так сам текстовый файл в список подгрузите. И переменную в коде правильно напишите
 

Gunjubasik

Client
Регистрация
30.05.2019
Сообщения
3 528
Благодарностей
1 324
Баллы
113
Так сам текстовый файл в список подгрузите. И переменную в коде правильно напишите
Cпасибо, что ответили моим же вопросом. Это в стиле: Как дойти к библиотеке? - Встать, выйти и пройти к библиотеке...

Я не имел дело с С# и спрашиваю, как используя мои данные, которые я указал выше - сделать, то, что искали в данной теме, а именно - получить номер строки, в текстовом файле, который я укажу.
Используя указанный код С# - который я не умею верно прочитать и использовать, поэтому прошу тыкнуть пальцем - что, куда и как вставлять.
 
  • Спасибо
Реакции: Kolokol1

Allabart23

Client
Регистрация
15.09.2019
Сообщения
30
Благодарностей
13
Баллы
8
Cпасибо, что ответили моим же вопросом. Это в стиле: Как дойти к библиотеке? - Встать, выйти и пройти к библиотеке...

Я не имел дело с С# и спрашиваю, как используя мои данные, которые я указал выше - сделать, то, что искали в данной теме, а именно - получить номер строки, в текстовом файле, который я укажу.
var list = project.Lists["AllTimes"];
string str = project.Variables["Variable3"].Value;
Чтобы загрузить файл в список есть свой кубик
 
  • Спасибо
Реакции: Gunjubasik

Gunjubasik

Client
Регистрация
30.05.2019
Сообщения
3 528
Благодарностей
1 324
Баллы
113
Cпасибо большое, очень помогли. Подскажите пожалуйста, для использования таких кодов - где бы вы порекомендовали изучить этот код - что бы я понимал что там вообще написано?

var list = project.Lists["AllTimes"];
string str = project.Variables["Variable3"].Value;
Чтобы загрузить файл в список есть свой кубик
 

Дмитрий621985

Пользователь
Регистрация
03.06.2018
Сообщения
166
Благодарностей
6
Баллы
18
Если же все же нужен именно номер строки.

Взять номера всех строк если есть вхождения:

C#:
var list = project.Lists["List"];
string str = project.Variables["Var"].Value;
string numStr = string.Empty;
for (int i = 0; i < list.Count; i++)
{
    if (list[i].Contains(str))
        numStr += i + "\r\n";
}
return numStr.Trim();
Взять номер строки первого вхождения:

C#:
var list = project.Lists["List"];
string str = project.Variables["Var"].Value;
string numStr = string.Empty;
for (int i = 0; i < list.Count; i++)
{
    if (list[i].Contains(str))
        return i;
}
return -1;

PS: Большая просьба, на будущее - называть тему более конкретно, чтобы отражалась краткая суть вопроса или проблемы, не общей фразой.
Спасибо большое. Код работает и даже применил его. А можно чтоб уйти от промежуточной работой со списками сразу снипетом сишарп брать номер последней строки имеющей совпадение?)
 
  • Спасибо
Реакции: Allabart23

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 436
Благодарностей
9 132
Баллы
113
Спасибо большое. Код работает и даже применил его. А можно чтоб уйти от промежуточной работой со списками сразу снипетом сишарп брать номер последней строки имеющей совпадение?)
А чем плохо использование списка?
Без списка может усложниться код и алгоритм подсчета, мне кажется оно того не стоит.
 

Дмитрий621985

Пользователь
Регистрация
03.06.2018
Сообщения
166
Благодарностей
6
Баллы
18
  • Спасибо
Реакции: Sergodjan

ukrainec2014

Client
Регистрация
12.05.2017
Сообщения
351
Благодарностей
52
Баллы
28
Взять номера всех строк если есть вхождения:

C#:
var list = project.Lists["List"];
string str = project.Variables["Var"].Value;
string numStr = string.Empty;
for (int i = 0; i < list.Count; i++)
{
    if (list[i].Contains(str))
        numStr += i + "\r\n";
}
return numStr.Trim();

это божественно !!
спасибо 8-)
 
  • Спасибо
Реакции: djaga и Sergodjan

Mikhail B.

Client
Регистрация
23.12.2014
Сообщения
14 418
Благодарностей
5 454
Баллы
113
А можно подробнее объяснить что делает код выше, вставил его в проект вообще ничего не ясно
Указываете список для поиска
Переменную с текстом

Номер строки будет в переменной кубика C#
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 720
Баллы
113

Mikhail B.

Client
Регистрация
23.12.2014
Сообщения
14 418
Благодарностей
5 454
Баллы
113

клок

Client
Регистрация
02.10.2019
Сообщения
17
Благодарностей
3
Баллы
3
Если же все же нужен именно номер строки.

Взять номера всех строк если есть вхождения:

C#:
var list = project.Lists["List"];
string str = project.Variables["Var"].Value;
string numStr = string.Empty;
for (int i = 0; i < list.Count; i++)
{
    if (list[i].Contains(str))
        numStr += i + "\r\n";
}
return numStr.Trim();
есть нюанс - если есть слово "есть", то удалится так же "месть всем на свете", "лесть", "жесть погняющая еще хз кого".
Подскажите, как указать удалять только целое слово?
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113
есть нюанс - если есть слово "есть", то удалится так же "месть всем на свете", "лесть", "жесть погняющая еще хз кого".
Подскажите, как указать удалять только целое слово?
у регулярок есть такая штука \b (граница слова)
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 436
Благодарностей
9 132
Баллы
113
есть нюанс - если есть слово "есть", то удалится так же "месть всем на свете", "лесть", "жесть погняющая еще хз кого".
Подскажите, как указать удалять только целое слово?
Если вам нужно решение именно для удаления, то можете работать со списком например стандартным действием "Операции над списком". Как уже подсказал doc выше, можно в качестве критерия также указывать границу слова.

80712
 

клок

Client
Регистрация
02.10.2019
Сообщения
17
Благодарностей
3
Баллы
3
Если вам нужно решение именно для удаления, то можете работать со списком например стандартным действием "Операции над списком". Как уже подсказал doc выше, можно в качестве критерия также указывать границу слова.

Посмотреть вложение 80712
Нет, мне нужно удалить строки из таблицы А, фразы в столбце 4 которых содержит слова, содержащиеся в списке B
 
Последнее редактирование:

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 436
Благодарностей
9 132
Баллы
113
Нет, мне нужно удалить строки из таблицы А, фразы в столбце 4 которых содержит слова, содержащиеся в списке B
Если устроит кубиками, то так - приложил шаблон.

80716
 

Вложения

C2H5OH

Client
Регистрация
30.09.2014
Сообщения
55
Благодарностей
26
Баллы
18
Если же все же нужен именно номер строки.

Взять номера всех строк если есть вхождения:

C#:
var list = project.Lists["List"];
string str = project.Variables["Var"].Value;
string numStr = string.Empty;
for (int i = 0; i < list.Count; i++)
{
    if (list[i].Contains(str))
        numStr += i + "\r\n";
}
return numStr.Trim();
Взять номер строки первого вхождения:

C#:
var list = project.Lists["List"];
string str = project.Variables["Var"].Value;
string numStr = string.Empty;
for (int i = 0; i < list.Count; i++)
{
    if (list[i].Contains(str))
        return i;
}
return -1;

PS: Большая просьба, на будущее - называть тему более конкретно, чтобы отражалась краткая суть вопроса или проблемы, не общей фразой.
Подскажите пожалуйста а ест подобный код только для таблицы, а не для списка?
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 436
Благодарностей
9 132
Баллы
113
  • Спасибо
Реакции: C2H5OH

socsecret.ru

Client
Регистрация
30.09.2017
Сообщения
346
Благодарностей
209
Баллы
43
C#:
var list = project.Lists["List"];
string str = project.Variables["Var"].Value;
string numStr = string.Empty;
for (int i = 0; i < list.Count; i++)
{
    if (list[i].Contains(str))
        numStr += i + "\r\n";
}
return numStr.Trim();
А как будет не для вхождения, а именно для точного совпадения?
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 436
Благодарностей
9 132
Баллы
113

MaxLucky

Client
Регистрация
13.08.2017
Сообщения
186
Благодарностей
14
Баллы
18
Добрый день. Подскажите пожалуйста, как будет выглядеть код, для того, чтобы в списке найти пустую строчку. Пустую переменную не получается искать
 

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