n8n. Как разбить текст на куски по определенному символу.

При работе с текстовыми данными в n8n часто возникает необходимость разделить длинный текст на отдельные части по определенному разделителю. Например, разбить строку по символу новой строки, запятой или другому разделителю.

Использование узла Edit Fields

Самый простой способ разбить текст в n8n - использовать узел Edit Fields с JavaScript выражением.

Пошаговая инструкция:

  1. Добавьте узел Edit Fields в ваш workflow
  2. Выберите режим Manual Mapping в настройках узла
  3. Создайте новое поле для результата (например, text_array)
  4. Выберите тип данных Array для нового поля
  5. Введите JavaScript выражение для разбиения текста

Примеры выражений:

Разбиение по символу новой строки:

{{ $json.text.split("\\n") }}

Разбиение по запятой:

{{ $json.text.split(",") }}

Разбиение по точке с запятой:

{{ $json.text.split(";") }}

Разбиение по пробелу:

{{ $json.text.split(" ") }}

Практический пример

Допустим, у вас есть текст с адресами электронной почты, разделенными запятыми:

user1@example.com,user2@example.com,user3@example.com

Чтобы разбить этот текст на массив отдельных email-адресов:

  1. В узле Edit Fields создайте поле emails
  2. Установите тип Array
  3. Используйте выражение: {{ $json.text.split(",") }}

Результат будет массивом:

["user1@example.com", "user2@example.com", "user3@example.com"]

Дополнительная обработка

После разбиения текста вы можете:

Удалить пробелы с помощью метода trim():

{{ $json.text.split(",").map(item => item.trim()) }}

Отфильтровать пустые элементы:

{{ $json.text.split("\\n").filter(item => item.length > 0) }}

Объединить несколько операций:

{{ $json.text.split(",").map(item => item.trim()).filter(item => item.length > 0) }}

Специальные символы

При работе со специальными символами важно правильно их экранировать:

  • Новая строка: \\n
  • Табуляция: \\t
  • Обратная косая черта: \\\\
  • Кавычки: \"

Заключение

Разбиение текста в n8n с помощью узла Edit Fields и JavaScript выражений - это мощный инструмент для обработки текстовых данных. Используя методы split(), map(), filter() и другие, вы можете легко преобразовать неструктурированный текст в удобный для дальнейшей обработки формат.

Привет! Я веб-программист
Дмитрий Ченгаев
Скачать скрипт
Нужны кастомные доработки скрипта?
Напишите в телеграм или подписывайтесь на канал в Telegram, чтобы оставаться на связи ;)