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

  • Автор темы Автор темы diamlan
  • Дата начала Дата начала

diamlan

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

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

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

Как можно сделать?
 
Получить строку которая содержит AUSTRIA. Это 1 кубик стандартный
 
  • Спасибо
Реакции: masterLomaster
нужно получить номер строки в котором находиться например 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: Большая просьба, на будущее - называть тему более конкретно, чтобы отражалась краткая суть вопроса или проблемы, не общей фразой.
 
  • Спасибо
Реакции: Valandersi
Мне нужен номер строки который содержит слово "AUSTRIA" который я смогу положить в переменную)
Создаешь счетчик с изначальным значение 1. Далее берешь первую строку (значит строка номер 1) и проверяешь её условием на AUSTRIA к примеру, если подходит то номер строки 1 если нет, то берешь следующую строку (значение счётчика 2 - номер строки 2) и так далее. Это реализация число логикой кубиков.
 
  • Спасибо
Реакции: Dimson
Спасибо нашёл решение через C# код который скинули
 
А можно подробнее объяснить что делает код выше, вставил его в проект вообще ничего не ясно.
Понял лишь что он взаимодействует со списком, но чё куда дальше не ясно
 
А всё разобрался, не нужно
 
  • Спасибо
Реакции: Sergodjan
Подскажите пожалуйста, вот дали в теме С# код, который поможет получить номер строки - определенного слова в списке. Но как его применить с моим списком - я не знаю. (Не изучал 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-}


Заранее, очень благодарен за помощь!
 
Последнее редактирование:
Подскажите пожалуйста, вот дали в теме С# код, который поможет получить номер строки - определенного слова в списке. Но как его применить с моим списком - я не знаю.

Сам С# код для кубика, как я понял, который поможет мне это сделать:
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-}


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

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

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

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

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

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
Взять номера всех строк если есть вхождения:


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
А можно подробнее объяснить что делает код выше, вставил его в проект вообще ничего не ясно
Указываете список для поиска
Переменную с текстом

Номер строки будет в переменной кубика 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))
        numStr += i + "\r\n";
}
return numStr.Trim();

есть нюанс - если есть слово "есть", то удалится так же "месть всем на свете", "лесть", "жесть погняющая еще хз кого".
Подскажите, как указать удалять только целое слово?
 
есть нюанс - если есть слово "есть", то удалится так же "месть всем на свете", "лесть", "жесть погняющая еще хз кого".
Подскажите, как указать удалять только целое слово?
у регулярок есть такая штука \b (граница слова)
 
есть нюанс - если есть слово "есть", то удалится так же "месть всем на свете", "лесть", "жесть погняющая еще хз кого".
Подскажите, как указать удалять только целое слово?
Если вам нужно решение именно для удаления, то можете работать со списком например стандартным действием "Операции над списком". Как уже подсказал doc выше, можно в качестве критерия также указывать границу слова.

80712
 
Если вам нужно решение именно для удаления, то можете работать со списком например стандартным действием "Операции над списком". Как уже подсказал doc выше, можно в качестве критерия также указывать границу слова.

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

80716
 

Вложения

Если же все же нужен именно номер строки.

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

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: Большая просьба, на будущее - называть тему более конкретно, чтобы отражалась краткая суть вопроса или проблемы, не общей фразой.
Подскажите пожалуйста а ест подобный код только для таблицы, а не для списка?
 
  • Спасибо
Реакции: C2H5OH
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();
А как будет не для вхождения, а именно для точного совпадения?
 
Добрый день. Подскажите пожалуйста, как будет выглядеть код, для того, чтобы в списке найти пустую строчку. Пустую переменную не получается искать
 

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