Как удалить пустые строки в тексте?

Поддержка
  • @Вениамин Есть модуль String, там можешь что то слепить, есть работа со списками, список в файл и обратно и.т.д.. Не обязательно что то удалять, можно просто взять непустые строки и между ними засунуть пустые строки, нахрена вы все усложняете себе.

    Еще вопрос: вам обязательно это все делать в BAS? Лично я, когда у меня есть какой то файл с данными, который нужно перевести к другому формату, у меня не возникает мысли это делать с помощью BAS.. Что за бред. Есть RegexBuddy, есть Notepad ++ с плагинами, есть старинный никому неизвестный текстовый редактор Tea, есть язык программирования (2 часа времени ты мог потратить на изучение python, этого хватило бы, чтобы решить эту задачу и в нагрузку получить знания основы программирования)

  • @serrgo может так и получилось бы, ну не знаю.

    Я привел примитивный пример. А теперь представим что у нас вместо слов "пример пример пример" полноценные абзацы текста. И после них всегда разное количество пустых строк. Допустим я переведу массив в строку. Как мне потом вставить в нужных местах пропуски?

    Если я выбрал работать с БАСом, то вероятно мне нужна автоматизация. А если я буду пользоваться сторонними программами, то тогда теряется весь смысл автоматизированного проекта :) Тот пример который я привел - это один из этапов большого скрипта. То есть после выполнения действий с пустыми строками данные пойдут дальше обрабатываться.

  • @Вениамин said in Как удалить пустые строки в тексте?:

    Если я выбрал работать с БАСом, то вероятно мне нужна автоматизация.

    Бас это автоматизация браузера, а не каждого вашего чиха. И в нем достаточно встроенных инструментов для реализации сопутствующих задач.

  • @Вениамин said in Как удалить пустые строки в тексте?:

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

    Тогда выбор BAS для этой задачи понятен.
    Если разное количество строк у тебя, то скорее всего нужно использовать регулярки

  • @UserTrue к чему этот комментарий?

  • @serrgo идея с переводом массива в строку вроде неплохая. Если получится, потом отпишу здесь как решил проблему. В любом случае спасибо за участие :)

  • @Вениамин said in Как удалить пустые строки в тексте?:

    @UserTrue к чему этот комментарий?

    Хм, извините привычка читать по диагонали. Показалось, что вы возмущены тем, что в БАС нет готового способа для вас ))

  • @Вениамин Примерно так можно

    [[LIST]] = [[LIST]].filter(function(row,i, arr){
    	return arr[i] !== '' || arr[i-1] !== ''
    })
    

    Для теста:

    [
      'Строка 1',
      '',
      '',
      'Строка 2',
      '',
      'Строка 3',
      '',
      '',
      '',
      ''
    ].filter(function(row,i, arr){
    	return arr[i] !== '' || arr[i-1] !== ''
    })
    
  • @UserTrue ТЫСЯЧА БЛАГОДАРНОСТЕЙ!!! То что нужно! Ух, вот я замаялся с этой проблемой! Огромное спасибо!

    p.s. а Вы не могли бы мне простым языком сказать, как этот код получился? Ну или может ссылку на статью сможете дать, чтобы я почитал да познал дзен :)

  • @Вениамин said in Как удалить пустые строки в тексте?:

    @UserTrue ТЫСЯЧА БЛАГОДАРНОСТЕЙ!!! То что нужно! Ух, вот я замаялся с этой проблемой! Огромное спасибо!

    p.s. а Вы не могли бы мне простым языком сказать, как этот код получился? Ну или может ссылку на статью сможете дать, чтобы я почитал да познал дзен :)

    Это обычная js функция filter должа возвращать true если элемент оставить и false если удалить.
    В данном случае arr[i] !== '' || arr[i-1] !== '' вернет true если элемент не пустая строка или если приведущий элемент не пустая строка.

  • @UserTrue Спасибо еще раз!