Я пытаюсь вставить строку, разделенную запятыми, созданную из нескольких значений, введенных пользователем. Если определенное значение пусто, я не хочу вставлять это значение. Моя проблема заключается в том, что mapconcat
по-прежнему вставляет разделитель, когда функция возвращает nil
. Я также попытался сделать это с помощью элемента управления unless
в списке вместо функции с тем же результатом.Игнорировать пустые строки в mapconcat?
(insert (mapconcat
(function (lambda (x) (unless (string-equal x "") x))))
(list input-a input-b input-c)
", "))
Если значение от пользователя является "foo"
, ""
и "bar"
, выход будет "foo, , bar"
; Я бы хотел, чтобы это было "foo, bar"
. Как я могу предотвратить включение разделителя, когда входное значение пуст?
Вы также хотите игнорировать строки, содержащие только пробелы? Например, '' ''? –