Функции преобразования строк#

1. Вхождение подстроки в строку (contains)#

Функция определяет, содержит ли первый аргумент значение второго аргумента, при этом оба аргумента преобразуются в строку.

Варианты написания функции:

  • contains;

  • Contains;

  • CONTAINS.

Синтаксис#

contains(IN.test, "TEST")
Contains($variable, "TEST")
CONTAINS($variable.test, "Test")
Contains(IN.test, 15)
Contains(IN.root.test, 34.76)

Примеры использования функции#

Входящее сообщение

Правило трансформации

Выходящее сообщение

{
«a»: «text1»,
«b»: «text9»
}

OUT.task =contains(IN, «9»)

{«task»:true}

{
«a»: «text1»,
«b»: «text9»
}

OUT.task =contains(IN.a, «9»)

{«task»:false}

2. Проверка префикса (startsWith)#

Функция проверяет, начинается ли элемент во входящем сообщении с префикса, начиная с указанного индекса.

Варианты написания функции:

  • startsWith;

  • StartsWith.

Синтаксис#

startsWith("Test", IN.test, 3)
StartsWith("Test", IN.root.test)
StartsWith("Test", $variable)

Аргументы#

  1. Строковое значение, искомый префикс.

  2. Адрес элемента входящего сообщения, переменная окружения, переменная.

  3. Целочисленное значение, индекс начала поиска, необязательный параметр, по умолчанию 0.

Примеры использования функции#

Входящее сообщение

Правило трансформации

Выходящее сообщение

{
«a»: «text111»,
«b»: «text999»
}

OUT.task = startsWith(«text9», IN.a)

{«task»:false}

{
«a»: «text111»,
«b»: «text999»
}

OUT.task = startsWith(«text9», IN.b)

{«task»:true}

3. Проверка суффикса (endsWith)#

Функция проверяет, заканчивается ли элемент указанным значением суффикса.

Варианты написания функции:

  • endsWith;

  • EndsWith.

Синтаксис#

endsWith("Test", IN.test)
EndsWith("Test", IN.root.test)
EndsWith("Test", $variable)

Аргументы#

  1. Строковое значение, искомый суффикс.

  2. Адрес элемента входящего сообщения, переменная окружения, переменная.

Примеры использования функции#

Входящее сообщение

Правило трансформации

Выходящее сообщение

{
«a»: «text1563»,
«b»: «text4589»
}

OUT.task = endsWith(«63», IN.a)

{«task»:true}

{
«a»: «text1563»,
«b»: «text4589»
}

OUT.task = endsWith(«45», IN.b)

{«task»:false}

4. Проверка регулярного выражения (regExp)#

Функция проверяет, соответствует ли элемент заданному регулярному выражению.

Варианты написания функции:

  • regExp;

  • RegExp.

Синтаксис#

regExp("\\w*/\\d{4}", IN.root.test)
RegExp("\\w*/\\d{4}", $var)

Аргументы#

  1. Регулярное выражение.

  2. Значение для проверки, адрес элемента сообщения, переменная, переменная окружения.

Примеры использования функции#

Входящее сообщение

Правило трансформации

Выходящее сообщение

{
«a»: «text-1563»,
«b»: «text4589»
}

OUT.task = regExp(«\w{4}-\d{4}», IN.a)

{«task»:true}

{
«a»: «text-1563»,
«b»: «text4589»
}

OUT.task = regExp(«\w{4}-\d{6}», IN.a)

{«task»:false}

5. Получение подстроки (subString)#

Функция возвращает подстроку строкового значения элемента, начиная с символа, заданного индексом beginIndex, и заканчивая символом endIndex-1.

Варианты написания функции:

  • subString;

  • SubString.

Синтаксис#

subString(IN.root.test, 5, 7)

Аргументы#

  1. Адрес элемента входящего сообщения, переменная окружения, переменная.

  2. beginIndex — целочисленное значение, начальный индекс.

  3. endIndex — целочисленное значение, индекс завершения подстроки.

Примеры использования функции#

Входящее сообщение

Правило трансформации

Выходящее сообщение

{
«a»: «text15_nomer33»,
«b»: «text4589»
}

OUT.task = subString(IN.a, 4, 12)

{«task»:»15_nomer»}

6. Получение индекса первого вхождения подстроки (indexOf)#

Функция возвращает целочисленное значение позиции найденной подстроки.

Варианты написания функции:

  • indexOf;

  • IndexOf.

Синтаксис#

IN.root.test1.test11 = "test11"

indexOf(IN.root.test1.test11, "t") // Результат 0
indexOf(IN.root.test1.test11, "es") // Результат 1
indexOf(IN.root.test1.test11, "t", 2) // Результат 3
indexOf(IN.root.test1.test11, "anything") // Результат -1

Аргументы#

  1. Адрес элемента входящего сообщения, переменная окружения, переменная.

  2. sequence — строка, подстрока для поиска.

  3. offset — целочисленное значение, индекс смещения стартовой позиции поиска.

Примеры использования функции#

Входящее сообщение

Правило трансформации

Выходящее сообщение

{
«a»: «text15_nomer33»,
«b»: «text4589»
}

OUT.task = indexOf(IN.a, «15»)

{«task»:4}

{
«a»: «text15_nomer33»,
«b»: «text4589»
}

OUT.task = indexOf(IN.b, «sos»)

{«task»:-1}

7. Получение индекса последнего вхождения подстроки (lastIndexOf)#

Функция возвращает целочисленное значение позиции найденной подстроки.

Варианты написания функции:

  • lastIndexOf;

  • LastIndexOf.

Синтаксис#

IN.root.test1.test11 = "test11"

lastIndexOf(IN.root.test1.test11, "t") // Результат 3
lastIndexOf(IN.root.test1.test11, "es") // Результат 1
lastIndexOf(IN.root.test1.test11, "t", 2) // Результат 0
lastIndexOf(IN.root.test1.test11, "anything") // Результат -1

Аргументы#

  1. Адрес элемента входящего сообщения, переменная окружения, переменная.

  2. sequence — строка, подстрока для поиска.

  3. offset — целочисленное значение, индекс ограничения верхней границы позиции поиска.

Примеры использования функции#

Входящее сообщение

Правило трансформации

Выходящее сообщение

{
«a»: «text15_nomer33»,
«b»: «text4589»
}

OUT.task = lastIndexOf(IN.a, «t»)

{«task»:3}

8. Разделение строки на несколько строк (split)#

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

Варианты написания функции:

  • split;

  • Split;

  • SPLIT.

Синтаксис#

split(IN.root.test, "|")
Split($variable, ",")

Аргументы#

  1. Адрес элемента входящего сообщения, переменная окружения, переменная.

  2. Разделитель для подстрок.

Примеры использования функции#

Входящее сообщение

Правило трансформации

Выходящее сообщение

{
«a»: «text15,nomer33,task73»,
«b»: «text4589»
}

OUT.task = split(IN.a, «,»)

{«task»:[«text15»,»nomer33»,»task73»]}

9. Замена всех вхождений подстрок новой последовательностью символов (replace)#

Функция возвращает строковое значение с проведенной заменой всех вхождений найденной подстроки.

Варианты написания функции:

  • replace;

  • Replace.

Синтаксис#

replace(IN.root.test1.test, "ABC", "123")
replace($variable, IN.root.testString, $variable)

Аргументы#

  1. Адрес элемента входящего сообщения, переменная окружения, переменная.

  2. Подстрока(последовательность символов) подлежащая замене (нельзя использовать регулярные выражения).

  3. Последовательность символов, которой будет заменена найденная подстрока.

Примеры использования функции#

Входящее сообщение

Правило трансформации

Выходящее сообщение

{
«a»: «text1563null»
}

OUT.task = replace(IN.a, «null», «ABC»)

{«task»:»text1563ABC»}

10. Замена первого вхождения подстроки новой последовательностью символов (replaceFirst)#

Функция возвращает строковое значение, с проведенной заменой первого вхождения найденной подстроки.

Варианты написания функции:

  • replaceFirst;

  • ReplaceFirst.

Синтаксис#

replaceFirst(IN.root.test1.test, "abc", "qwe")
replaceFirst(IN.root.test1.test, "\\d{5}", "***")
replace($variable, "_!!_", $variable)

Аргументы#

  1. Адрес элемента входящего сообщения, переменная окружения, переменная.

  2. Регулярное выражение, которому должна соответствовать подстрока.

  3. Последовательность символов, которой будет заменена найденная подстрока.

Примеры использования функции#

Входящее сообщение

Правило трансформации

Выходящее сообщение

{
«a»: «abc-1563null-abc»
}

replaceFirst(IN.a, «abc», «123»)

{«task»:»123-1563null-abc»}

11. Замена всех вхождений подстроки новой последовательностью символов (replaceAll)#

Функция возвращает строковое значение, с проведенной заменой всех вхождений найденной подстроки.

Варианты написания функции:

  • replaceAll;

  • ReplaceAll.

Синтаксис#

replaceAll(IN.root.test1.test, "abc", "qwe")
replaceAll(IN.root.test1.test, "\\d{5}", "***")
replaceAll($variable, "_!!_", $variable)

Аргументы#

  1. Адрес элемента входящего сообщения, переменная окружения, переменная.

  2. Регулярное выражение, которому должна соответствовать подстрока.

  3. Последовательность символов, которой будет заменена найденная подстрока.

Примеры использования функции#

Входящее сообщение

Правило трансформации

Выходящее сообщение

{
«a»: «abc-1563null-abc»
}

OUT.task =replaceAll(IN.a, «abc», «123»)

{«task»:»123-1563null-123»}

12.Форматирование строк (format)#

Функция возвращает строковое значение.

Варианты написания функции:

  • format;

  • Format.

Синтаксис#

format("a = %s, b = %f, c = %.5f, d = %%, e = %b", "test", toDouble(567.4534 + 234.12), 234.45, true)
format("a = %s, b = %.2f, c = %.3f, d = %%%d, e = %b", $variable_1, $variable_3, $variable_5, toInt(54+46), IN.root.test1.test17)
Format("a = %s, b = %.2f, c = %.3f, d = %%, e = %b", "test", IN.root.test1.test16, 234.45, true)

Аргументы#

Аргументы функции аналогичны методу String.format(pattern, args …).

  1. pattern — шаблон сообщения, сформированный согласно определенным правилам.

  2. args — аргументы различных типов, необходимые для формирования строки на основе шаблона. Дополнительная информация по формированию шаблона сообщения.

Примеры использования функции#

Входящее сообщение

Правило трансформации

Выходящее сообщение

{
«a»: «1563»
}

OUT.task2 = format(«a = %s, b = %.2f, c = %.5f, d = %%.2d, e = %b», «test», 77, toDouble(567.4534 + 234.12), true)

{«task2»:»a = test, b = 77,00, c = 801,57340, d = %.2d, e = true»}

13. Преобразование входящего элемента в строку (nodeToString)#

Функция возвращает строковое представление элемента входящего сообщения.

Варианты написания функции:

  • NodeToString;

  • nodeToString.

Синтаксис#

nodeToString(IN.root.test1)

Аргументы#

  1. Адрес элемента входящего сообщения, переменная окружения, переменная.

Примеры использования функции#

Входящее сообщение

Правило трансформации

Выходящее сообщение

{
»a»: 1563,
«b»: «text4589»
}

OUT.task = nodeToString(IN)

{«task»:»{«a»:1563,»b»:»text4589»}»}

14. Преобразование входящего элемента в Integer (nodeToInt)#

Функция возвращает числовое представление элемента входящего сообщения.

Варианты написания функции:

  • NodeToInt;

  • nodeToInt.

Синтаксис#

nodeToInt(IN.root.test1)
nodeToInt($variable)
nodeToInt("1233445")
nodeToInt("-1233445")

Аргументы#

  1. Адрес элемента входящего сообщения, переменная окружения, переменная.

Примеры использования функции#

Входящее сообщение

Правило трансформации

Выходящее сообщение

{
»a»: «1563»,
«b»: «text4589»
}

OUT.task = nodeToInt(IN.a)

{«task»:1563}

15. Преобразование символов строки в нижний регистр (toLowerCase)#

Функция возвращает строку, преобразованную в символы нижнего регистра.

Варианты написания функции:

  • ToLowerCase;

  • toLowerCase.

Синтаксис#

toLowerCase(IN.root.test1)
toLowerCase($variable)
toLowerCase("ТЕСТ")

Аргументы#

  1. Адрес элемента входящего сообщения, переменная окружения, переменная.

Примеры использования функции#

Входящее сообщение

Правило трансформации

Выходящее сообщение

{
»a»: «FUNCTION-77»,
«b»: «Text4589»
}

OUT.task = toLowerCase(IN.a)

{«task»:»function-77»}

16. Преобразование символов строки в верхний регистр, toUpperCase#

Функция возвращает строку, преобразованную в символы верхнего регистра.

Варианты написания функции:

  • ToUpperCase;

  • toUpperCase.

Синтаксис#

toUpperCase(IN.root.test1)
ToUpperCase($variable)
ToUpperCase("Тест")

Аргументы#

  1. Адрес элемента входящего сообщения, переменная окружения, переменная.

Примеры использования функции#

Входящее сообщение

Правило трансформации

Выходящее сообщение

{
»a»: «function-77»,
«b»: «Text4589»
}

OUT.task = toUpperCase(IN.a)

{«task»:»FUNCTION-77»}