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

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

gs517

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

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

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

тут видно что "Локомотив Москва" под 3 ем номером, как мне получить это число в зенке? т.е например мне нужно узнать под какими номерами в списке идут нужные мне строки, как это сделать?
 
Цикл можно организовать и брать строки не с вариантом "Первая", а по номеру строки. При нахождении нужного значения, номер строки также будет известен.
Вообще немного непонятна задача. Так ли нужны эти данные?
Можете подробнее написать. может по-другому решить можно.
 
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 пройдись по списку и по аналогии выводи/пиши в таблицу/список номера совпадений.
 
http://www.myscore.ru/match/fsxJigPI/#h2h;overall

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

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

как то так. Объяснять не умею.
 
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
var list = project.Lists["list"];
string pattern = "^\\d+";
return list.IndexOf(list.First(e=>System.Text.RegularExpressions.Regex.IsMatch(e, pattern)));
 
  • Оценить
Реакции: Roman* и alekwuy
Ну получается регулярка у меня не такая: string pattern = "^\\d+";
а вот такая: string pattern = "(?i).*{-Variable.VhodnayaRubrika-}.*";
Нужно просто это сделать синтаксически правильно.
 
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), но хотелось бы сократить шаблон.
 
Скажите пожалуйста, а можно сделать чтобы нумерация начиналась с 1? Я в общем-то нашел выход ( +1 к переменной в дополнительном кубике JavaScript), но хотелось бы сократить шаблон.
можно тут же в этом сниппете сделать приращение единицы..
 
  • Оценить
Реакции: xopek2007
Скажите пожалуйста, а можно сделать чтобы нумерация начиналась с 1? Я в общем-то нашел выход ( +1 к переменной в дополнительном кубике JavaScript), но хотелось бы сократить шаблон.
C#:
Развернуть Свернуть Копировать
return list.IndexOf(pattern) + 1;
 
  • Оценить
Реакции: xopek2007
как сделать чтобы много вариантов показывал? в списке много строк с таким текстом. Подскажите снипет плиз? чтобы выдавал все номера строк содержащие текст?
 
JavaScript:
Развернуть Свернуть Копировать
//Список
var list = project.Lists["List"];
//Переменная содержащая искомую строку
var pattern = project.Variables["Pattern"].Value;

if(list.Contains(pattern))
{
    return list.IndexOf(pattern);
}
return "not match";

Подскажите как положить результат сразу в переменную в с#, а не через return ?
 
Подскажите как положить результат сразу в переменную в с#, а не через 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

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