Номер Строки. Как ?

gs517

Client
Регистрация
18.05.2013
Сообщения
138
Благодарностей
15
Баллы
18
Здравствуйте!

есть список, например такой:

Волга
Анжи
Локомотив Москва
Марибор
Партизан

тут видно что "Локомотив Москва" под 3 ем номером, как мне получить это число в зенке? т.е например мне нужно узнать под какими номерами в списке идут нужные мне строки, как это сделать?
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 715
Баллы
113
Цикл можно организовать и брать строки не с вариантом "Первая", а по номеру строки. При нахождении нужного значения, номер строки также будет известен.
Вообще немного непонятна задача. Так ли нужны эти данные?
Можете подробнее написать. может по-другому решить можно.
 

7make

Client
Регистрация
25.06.2011
Сообщения
1 547
Благодарностей
1 311
Баллы
113

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

JavaScript:
//Список
var list = project.Lists["List"];
//Переменная содержащая искомую строку
var pattern = project.Variables["Pattern"].Value;

if(list.Contains(pattern))
{
	return list.IndexOf(pattern);
}
return "not match";
Только нумерация идет с 0.

Если много строк, то просто foreach пройдись по списку и по аналогии выводи/пиши в таблицу/список номера совпадений.
 

gs517

Client
Регистрация
18.05.2013
Сообщения
138
Благодарностей
15
Баллы
18
http://www.myscore.ru/match/fsxJigPI/#h2h;overall

делаю парсинг левой верхней колонки, идентифицирую по ширине (она одинаковая на всех страницах +-20. в общем реализовал цикл который 100% пофиксит ширину если она отличается от заданной)
по другим данным парсинг именно этой колонки и что важно, именно первых 5 значений, то же самое и к левой нижней, правой верхней, правой нижней, не возможен.

так вот спарсил я колонку (строки с матчами). теперь мне надо кликнуть по первой игре (Фредерисия - хозяева) спарсить значения. далее кликнуть по второй игре Фредерисии в левой верхней колонке и т.д
клик реализую по номеру совпадения. так вот номер совпадения как раз и будет номер порядка в списке.

как то так. Объяснять не умею.
 

alekwuy

Client
Регистрация
06.04.2013
Сообщения
1 631
Благодарностей
461
Баллы
83
JavaScript:
//Список
var list = project.Lists["List"];
//Переменная содержащая искомую строку
var pattern = project.Variables["Pattern"].Value;

if(list.Contains(pattern))
{
    return list.IndexOf(pattern);
}
return "not match";
Только нумерация идет с 0.

Если много строк, то просто foreach пройдись по списку и по аналогии выводи/пиши в таблицу/список номера совпадений.


Подскажите как тут искать строку с помощью регулярки, сейчас работает только полное совпадение?
 
  • Спасибо
Реакции: TeslaCo

Nick

Client
Регистрация
22.07.2014
Сообщения
1 983
Благодарностей
817
Баллы
113

LexxWork

Client
Регистрация
31.10.2013
Сообщения
1 190
Благодарностей
791
Баллы
113
var list = project.Lists["list"];
string pattern = "^\\d+";
return list.IndexOf(list.First(e=>System.Text.RegularExpressions.Regex.IsMatch(e, pattern)));
 
  • Спасибо
Реакции: Roman* и alekwuy

alekwuy

Client
Регистрация
06.04.2013
Сообщения
1 631
Благодарностей
461
Баллы
83

spy107

Client
Регистрация
19.08.2012
Сообщения
192
Благодарностей
15
Баллы
18
var list = project.Lists["list"];
string pattern = "^\\d+";
return list.IndexOf(list.First(e=>System.Text.RegularExpressions.Regex.IsMatch(e, pattern)));
Ребят, а подскажите, как теперь в регулярку еще и переменную запихнуть?
 

Radzhab

Client
Регистрация
23.05.2014
Сообщения
1 500
Благодарностей
1 268
Баллы
113
Поподробнее
 

spy107

Client
Регистрация
19.08.2012
Сообщения
192
Благодарностей
15
Баллы
18
Ну получается регулярка у меня не такая: string pattern = "^\\d+";
а вот такая: string pattern = "(?i).*{-Variable.VhodnayaRubrika-}.*";
Нужно просто это сделать синтаксически правильно.
 

Radzhab

Client
Регистрация
23.05.2014
Сообщения
1 500
Благодарностей
1 268
Баллы
113
var pattern = string.Format("(?i).*{0}",project.Variables["Название переменной"].Value);
 

spy107

Client
Регистрация
19.08.2012
Сообщения
192
Благодарностей
15
Баллы
18

Radzhab

Client
Регистрация
23.05.2014
Сообщения
1 500
Благодарностей
1 268
Баллы
113
Будет
 

xopek2007

Client
Регистрация
10.05.2013
Сообщения
102
Благодарностей
11
Баллы
18
JavaScript:
//Список
var list = project.Lists["List"];
//Переменная содержащая искомую строку
var pattern = project.Variables["Pattern"].Value;

if(list.Contains(pattern))
{
    return list.IndexOf(pattern);
}
return "not match";
Только нумерация идет с 0.
Скажите пожалуйста, а можно сделать чтобы нумерация начиналась с 1? Я в общем-то нашел выход ( +1 к переменной в дополнительном кубике JavaScript), но хотелось бы сократить шаблон.
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 438
Благодарностей
9 135
Баллы
113
Скажите пожалуйста, а можно сделать чтобы нумерация начиналась с 1? Я в общем-то нашел выход ( +1 к переменной в дополнительном кубике JavaScript), но хотелось бы сократить шаблон.
можно тут же в этом сниппете сделать приращение единицы..
 
  • Спасибо
Реакции: xopek2007

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 122
Баллы
113
Скажите пожалуйста, а можно сделать чтобы нумерация начиналась с 1? Я в общем-то нашел выход ( +1 к переменной в дополнительном кубике JavaScript), но хотелось бы сократить шаблон.
C#:
return list.IndexOf(pattern) + 1;
 
  • Спасибо
Реакции: xopek2007

Malegik

Client
Регистрация
15.03.2019
Сообщения
24
Благодарностей
1
Баллы
3
как сделать чтобы много вариантов показывал? в списке много строк с таким текстом. Подскажите снипет плиз? чтобы выдавал все номера строк содержащие текст?
 

TeslaCo

Client
Регистрация
25.10.2016
Сообщения
62
Благодарностей
2
Баллы
8
JavaScript:
//Список
var list = project.Lists["List"];
//Переменная содержащая искомую строку
var pattern = project.Variables["Pattern"].Value;

if(list.Contains(pattern))
{
    return list.IndexOf(pattern);
}
return "not match";
Подскажите как положить результат сразу в переменную в с#, а не через return ?
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 438
Благодарностей
9 135
Баллы
113
Подскажите как положить результат сразу в переменную в с#, а не через return ?
Попробуйте так:
C#:
//Список
var list = project.Lists["List"];
//Переменная содержащая искомую строку
var pattern = project.Variables["Pattern"].Value;

if(list.Contains(pattern))
{
    // если нужна внешняя перемнная - переменная проекта
    project.Variables["res"].Value = Convert.ToString(list.IndexOf(pattern));
    // или так, если нужна внутр. переменная
    // var res = list.IndexOf(pattern);
}
else return "not match";
 
Последнее редактирование:
  • Спасибо
Реакции: TeslaCo

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