Действие парсера «Часть строки по разделителю (split)»

Параметры действия:

Предназначение действия:

Функция разбивает обрабатываемый текст (текущее значение) на части, используя в качестве разделителя заданный в параметрах символ/текст (разделитель), и возвращает нужную часть текста.

Например, если из строки «текст1\текст2\другой текст\нужный текст\текст3» нам надо получить «нужный текст», то мы задаем в качестве разделителя символ \, а в качестве индекса нужной части - число 4

Возвращаемое значение: часть исходного текста, или пустое значение

 


Параметр «Разделитель»

Тип параметра: произвольное текстовое значение

Обязательный параметр
Символ или текстовая строка, служащая в качестве разделителя

Параметр «Индекс нужной части»

Тип параметра: выбор из списка, или ввод вручную

Примеры значений параметра: 1; 2; 3; 4; 5; last; last-1; last-2; last-3; 2 ifexist; 3 ifexist; last ifexist

Значение по умолчанию: 1

Целое число от 1 до количества вхождений разделителя в обрабатываемый текст
Можно указать специальные значения в качестве индекса: last (последний), last-1 (предпоследний), last-3 (4-й с конца)
Если указать после числового индекса нужной части опцию ifexist, то будет возвращено исходное значение, если разделитель в строке не встречается, или частей после разбивки меньше чем надо

Параметр «Список имён переменных через |»

Тип параметра: произвольное текстовое значение

Необязательный параметр.
Позволяет задать названия переменных, в которые будут сохранены отдельные части строки после её разбиения на части.
Если мы разбивает строку текст1/2/3 по разделителю /, и указали список переменных first|second, то в переменную с названием first попадёт значение «текст1», а в переменную с именем second попадёт значение «2»

 

Примеры использования:

Берем из исходного значения текст до первого разделителя (слеша):

Действие Параметр Значение
Часть строки по разделителю (split) Разделитель /
Индекс нужной части 1
Исходное значение   Результат
http://excelvba.ru/programmes/Parser
 
http:

 

Берем из исходного значения текст между вторым и третьим слешем (адрес сайта) - индекс нужной части равен 3:

Действие Параметр Значение
Часть строки по разделителю (split) Разделитель /
Индекс нужной части 3
Исходное значение   Результат
http://excelvba.ru/programmes/Parser
 
excelvba.ru

 

Берем из исходного значения текст после последнего разделителя (слеша):

Действие Параметр Значение
Часть строки по разделителю (split) Разделитель /
Индекс нужной части last
Исходное значение   Результат
http://excelvba.ru/programmes/Parser
 
Parser

 

Берем из исходного значения текст перед последним разделителем (между двумя последними слешами):

Действие Параметр Значение
Часть строки по разделителю (split) Разделитель /
Индекс нужной части last-1
Исходное значение   Результат
http://excelvba.ru/programmes/Parser
 
programmes

 

Если указан несуществующий в исходной строке разделитель, то при взятии первой части (индекс = 1) будет выведена исходная строка, а при любом другом индексе (2 и выше) результатом будет пустая строка:

Действие Параметр Значение
Часть строки по разделителю (split) Разделитель =
Индекс нужной части 1
Исходное значение   Результат
http://excelvba.ru/programmes/Parser
 
http://excelvba.ru/programmes/Parser

 

Действие Параметр Значение
Часть строки по разделителю (split) Разделитель =
Индекс нужной части 2
Исходное значение   Результат
http://excelvba.ru/programmes/Parser
  (пустая строка)

 

Если вам надо взять текст после разделителя (в нашем случае это знак =), но если такого разделителя нет, то требуется оставить исходное значение без изменения, - используйте индекс вида 2 ifexist:

Это означает, что будет взят второй элемент после разделения строки, но только если он существует (ifexist)

Действие Параметр Значение
Часть строки по разделителю (split) Разделитель =
Индекс нужной части 2 ifexist
Исходное значение   Результат
http://excelvba.ru/programmes/Parser
 
http://excelvba.ru/programmes/Parser

 

Есть возможность сразу сохранять результат разбития строки в переменные.
Третий параметр — список имён переменных ( через разделитель | ) - позволяет задать названия переменных, в которые будут сохранены отдельные части строки после её разбиения на части.

Действие Параметр Значение
Часть строки по разделителю (split) Разделитель /
Индекс нужной части 1
Список имён переменных через | ||site||section|brand
Задать новое значение Новое значение раздел %section% на сайте %site% (бренд "%brand%")
Сохранить результат в переменную  
Использовать новое значение да
Исходное значение   Результат
http://www.MyWebsite.ru/catalog/shoes/omero/
 
раздел shoes на сайте www.MyWebsite.ru (бренд "omero")

Комментарии

Добрый день! Подскажите, а как правильно поступить, чтобы удалить целиком слово, если в него входит определенный набор символов? Вариант с разбитием текста на массив и дальнейшим объединением не подходит. так как работа уже идет на массивом текстовых значений, и объединение обратно создаст один текст, вместо начального массива.

Почитайте справку про подстановочные коды, - там сказано, что в параметре действия нало написать {NL}

Добрый день!
Подскажите, пожалуйста, как быть, если разделитель - перенос строки?