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

  • Автор темы Автор темы diamlan
  • Дата начала Дата начала
Добрый день. Подскажите пожалуйста, как будет выглядеть код, для того, чтобы в списке найти пустую строчку. В других содержится пробел, поэтому пустую переменную не получается искать
Добрый день.
Если задача удалить пустые строки, то через действие "Операции над списком" вы можете удалить пустые строки и содержащие пробельные символы.

107765
 
Добрый день.
Если задача удалить пустые строки, то через действие "Операции над списком" вы можете удалить пустые строки и содержащие пробельные символы.

Посмотреть вложение 107765
Задача получить все номера строк из Google таблицы, содержащие пустые ячейки. Для обычной таблицы, код знаю, а для Google - Нет. Решил взять нужный столбец из Google Таблицы. И уже из списка получать нужные номера строк
 
Задача получить все номера строк из Google таблицы, содержащие пустые ячейки. Для обычной таблицы, код знаю, а для Google - Нет. Решил взять нужный столбец из Google Таблицы. И уже из списка получать нужные номера строк
Кто то может подтянется и предложит более изящный способ на чистом коде, а пока могу предложить немного костыльно-гибридный вариант с заменой пустых значений строк на конкретную строку, а по этим значениям строк уже находим номера "пустых" строк - приложил пример.
 

Вложения

Последнее редактирование:
Кто то может подтянется и предложит более изящный способ на чистом коде, а пока могу предложить немного костыльно-гибридный вариант с заменой пустых значений строк на конкретную строку, а по этим значениям строк уже находим номера "пустых" строк - приложил пример.

Список:

Защиту прошёл
Защиту прошёл
Защиту не прошёл

Защиту прошёл
Защиту прошёл

Защиту прошёл
Кнопка не активна

Кнопка не активна
Защиту прошёл


Конец списка

С таким списком не прокатывает замена...
 
Список:

Защиту прошёл
Защиту прошёл
Защиту не прошёл

Защиту прошёл
Защиту прошёл

Защиту прошёл
Кнопка не активна

Кнопка не активна
Защиту прошёл


Конец списка

С таким списком не прокатывает замена...
То есть, не обрабатываются - первые, последние и подряд идущие пустые строки?
Тогда вот такой вариант.
 

Вложения

  • Спасибо
Реакции: MaxLucky
Список:

Защиту прошёл
Защиту прошёл
Защиту не прошёл

Защиту прошёл
Защиту прошёл

Защиту прошёл
Кнопка не активна

Кнопка не активна
Защиту прошёл


Конец списка

С таким списком не прокатывает замена...
1. Получаем столбец в список Strings.
2. Выполняем C# код:
C#:
Развернуть Свернуть Копировать
var stringsList = project.Lists["Strings"];
var nullStringsNumbersList = project.Lists["Null Strings Numbers"];

for(int i=0; i < stringsList.Count; i++)
{
    if (stringsList[i] == "")
    {
        nullStringsNumbersList.Add(i+1);
    }
}
3. Получаем в списке Null Strings Numbers номера пустых строк.
Будут получены номера для варианта, когда нумерация списка начинается с 1. Если нужна нумерация с 0, то вместо
nullStringsNumbersList.Add(i+1);
нужно прописать
nullStringsNumbersList.Add(i);
 
  • Спасибо
Реакции: MaxLucky
1. Получаем столбец в список Strings.
2. Выполняем C# код:
C#:
Развернуть Свернуть Копировать
var stringsList = project.Lists["Strings"];
var nullStringsNumbersList = project.Lists["Null Strings Numbers"];

for(int i=0; i < stringsList.Count; i++)
{
    if (stringsList[i] == "")
    {
        nullStringsNumbersList.Add(i+1);
    }
}
3. Получаем в списке Null Strings Numbers номера пустых строк.
Будут получены номера для варианта, когда нумерация списка начинается с 1. Если нужна нумерация с 0, то вместо
nullStringsNumbersList.Add(i+1);
нужно прописать
nullStringsNumbersList.Add(i);
Шикарно, благодарю!
 
  • Спасибо
Реакции: K R
Если же все же нужен именно номер строки.

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

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: Большая просьба, на будущее - называть тему более конкретно, чтобы отражалась краткая суть вопроса или проблемы, не общей фразой.

Почему получаем номер "вхождения"? Нужно получить номер точного совпадения.
 

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