Параметры действия:
Предназначение действия:
Функция разбивает обрабатываемый текст (текущее значение) на части, используя в качестве разделителя заданный в параметрах символ/текст (разделитель), и возвращает нужную часть текста.
Например, если из строки «текст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}
Добрый день!
Подскажите, пожалуйста, как быть, если разделитель - перенос строки?