Показать номера строк входящего текста, включая пустые

Учебные задачи

Нумеруем небольшой текстовый пакет и отличаем пустую строку внутри от завершающего перевода строки.

Где и как запускать

Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.

Подготовка

  1. Все исходные строки заданы прямо в примере; товары, файлы и настройки рабочих конфигураций не нужны.

  2. Выполняйте на сервере учебной базы. Особенно важно для встроенных функций регулярных выражений.


Текст = "A-01;3" + Символы.ПС + "" + Символы.ПС + "B-02;1" + Символы.ПС;
Количество = СтрЧислоСтрок(Текст);
Сообщить(Количество);
Для Номер = 1 По Количество Цикл
    Содержимое = СтрПолучитьСтроку(Текст, Номер);
    Если ПустаяСтрока(Содержимое) Тогда
        Сообщить(СтрШаблон("Строка %1 пропущена: пустая", Номер));
    Иначе
        Сообщить(СтрШаблон("Строка %1: [%2]", Номер, Содержимое));
    КонецЕсли;
КонецЦикла;

Разбор по шагам

  1. Символы.ПС создаёт многострочный текст; внутренняя пустая строка находится между двумя переводами.

  2. СтрЧислоСтрок считает строки, не добавляя отдельную строку из одного финального перевода.

  3. СтрПолучитьСтроку получает номер с 1. Сохраняем исходные номера даже при пропуске пустой строки.

  4. Этот предварительный просмотр помогает указывать пользователю место ошибки импорта.

Как проверить результат

  1. Количество строк 3: первая A-01;3, вторая пустая, третья B-02;1.

  2. Удалите последний Символы.ПС: количество останется 3.

  3. Добавьте ещё одну непустую строку C-03;2 после перевода: количество станет 4.

Ожидаемый результат

Текстовый пакет показан с исходными номерами строк и явным сообщением для пустой строки.

На что обратить внимание

  1. Это не полноценный CSV: поле в кавычках само может содержать перевод строки.

  2. Для входящего CRLF при дальнейшей обработке полей проверяйте и нормализуйте разделители согласно формату.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.