Текстовые функции
Список текстовых функций, которые можно использовать в выражениях.
Функция | Описание |
---|---|
~= | Может входить в инструкции If и Case. Возвращает значение true, если строка регулярного выражения Arg2 соответствует строке Arg1. Примеры. If( "aab" ~= "a+" , "true", "false" ) Case when "aba" ~= ".a+$" then "true" else "false" end |
Concatenate(Arg1, ...) | Объединяет (добавляет) все аргументы в строку. Если дан один аргумент, то результатом будет конкатенация всех строк. Если дано несколько аргументов, то объединяется каждая строка. Аргументы могут быть любого типа, но будут преобразованы в строковые. Результат является строковым. Аргументы со значением NULL пропускаются. Примеры. Concatenate("April ", 20+1, "st") → "April 21st" Concatenate(null, "Ape")→ "Ape" Concatenate (null, null) → (Empty) |
Find(Arg1, Arg2, Arg3) | Возвращает индекс вхождения строки Arg1 в Arg2. Строка Arg3, если нужно, может указывать, какое совпадение нужно вернуть. Если третий аргумент не указан, возвращается первое совпадение. Если совпадения не найдены, возвращается число 0. При поиске учитывается регистр символов. Первые два аргументы являются строковыми, а третий аргумент и результат — целыми числами. Если Arg1 является пустой строкой, возвращается 0. Примеры. Find("lo", "Hello") → 4 Find("a", "Hello") → 0 Find("", "Hello") → 0 Find("", null) → (Empty) If(Find("Pri 1", [Col1])>0, "Important", "Not important") Find("a", "ababab") → 1 Find("a", "ababab", 2) → 3 Find("a", "ababab", 10) → 0 |
Left(Arg1, Arg2) | Возвращает первые Arg2 символов строки Arg1. Arg1 и результат являются строковыми. Arg2 является значением действительного типа, но используется только целая часть. Если Arg2> длины Arg1, возвращается вся строка. Если у Arg2 отрицательное значение, то количество символов Arg2 будет удалено в правой части строки Arg1. Примеры. Left("Daddy", 1) → "D" Left("Daddy", 3.99) → "Dad" Left("Daddy", 386) → "Daddy" Left("Daddy", -1) → "Dadd" |
Len(Arg1) | Возвращает длину Arg1. Arg1 является значением строкового типа, а результат — целым числом. Примеры. Len("Hello") → 5 Len(null) → (Empty) |
Lower(Arg1) | Возвращает аргумент Arg1, преобразованный в нижний регистр. Arg1 и результат являются строковыми. |
Mid(Arg1, Arg2, Arg3) | Возвращает подстроку Arg1, начиная с индекса Arg2, длиной в Arg3 символов. Arg1 и результат являются строковыми. Arg2 и Arg3 являются значениями действительного типа, но используется только целая часть. Если Arg2 > Len(Arg1), возвращается пустая строка. В противном случае, если Arg2+Arg3 > Len(Arg1), Arg3 регулируется до 1+Len(Arg1)-Arg2. Если Arg2 или Arg3 являются отрицательными либо если Arg2 равен нулю, то возвращается сообщение об ошибке. Примеры. Mid("Daddy", 2, 3) → "add" Mid("Daddy", 386, 4) → "" Mid("Daddy", 4, 386) → "dy" Mid("Daddy", -1, 2) → (Empty) Mid("Daddy", 2, -1) → (Empty) |
MostCommon(Arg1) | Возвращает значение, которое чаще всего встречается в указанном столбце. Если в равной степени общими являются несколько значений, будет использовано первое из них. Пример. MostCommon([Column]) |
NameDecode(Arg1) | Заменяет все коды подстрок декодированными символами. Имена столбцов в TIBCO Spotfire® хранятся в виде строк в кодировке UTF-16. Пример. NameDecode("Column %02D") |
NameEncode(Arg1) | Кодирует символы в строке так, что строка содержит только символы, соответствующие регулярному выражению [.0-9a-zA-Z]. Имена столбцов в TIBCO Spotfire® хранятся в виде строк в кодировке UTF-16. Пример. NameEncode("Column £") |
Repeat | Повторяет строку заданное число раз. Пример. Repeat("Hello", 2) → "HelloHello" |
Right(Arg1, Arg2) | Возвращает последние Arg2 символов строки Arg1. Arg1 и результат являются строковыми. Arg2 является значением действительного типа, но используется только целая часть. Если Arg2 > длины Arg1, возвращается вся строка. Если у Arg2 отрицательное значение, то количество символов Arg2 будет удалено в левой части строки Arg1. Примеры. Right("Daddy", 1) → "y" Right("Daddy", 3.99) → "ddy" Right("Daddy", 386) → "Daddy" Right("Daddy", -1) → "addy" |
RXExtract(Arg1, Arg2, Arg3) |
Возвращает часть строки (Arg1), которая соответствует регулярному выражению (Arg2). Arg3 определяет соответствие, которое следует использовать при наличии нескольких соответствий. Примеры. RXExtract([Column], "l+", 1) RXExtract("Parallel", "l+", 1) → "ll" RXExtract("Parallel", "l+", 2) → "l" |
RXReplace(Arg1, Arg2, Arg3, Arg4) | Заменяет подстроку в соответствии с регулярным выражением. Поиск регулярного выражения Arg2 в Arg1 и его замена на Arg3. Arg4 указывает параметры для замены: Параметр «g» указывает, что, если строка Arg2 совпадает более одного раза, нужно заменить все совпадения; «i» указывает, что при сравнении не следует учитывать регистр символов. «s», в режиме с одной строкой, указывает, что точка (.) соответствует каждому символу (а не каждому символу, за исключением новой строки). При использовании вычисляемых столбцов некоторые символы, например символ обратной косой черты, «\», и скобки, «(» и «)», необходимо экранировать. Так как скобки используются в регулярных выражениях для группирования, символы «(» и «)» нужно экранировать, чтобы для знака «(» или «)» нашлось соответствие. А когда символ используется в регулярном выражении, то, чтобы экранировать строку Spotfire и регулярное выражение, требуются двойные обратные косые черты. Дополнительные сведения см. в литературе об элементах языка регулярных выражений, например в библиотеке MSDN. Примеры. RXReplace("Hello", "L+", "LL", "i") → "HeLLo" RXReplace("3 Minor", "(\\d).*", "$1", "") → 3 RXReplace([Column with values within parenteses], "\\(89\\)", "", "") RXReplace("change\\slashdirection","\\\\","/","") → change/slashdirection (В последнем примере обратную косую черту необходимо экранировать дважды: один раз для строки Spotfire и еще один раз для регулярного выражения.) |
Split(Arg1, Arg2, Arg3) | Разделяет значения в строке Arg1 на ряд подстрок, используя Arg2 в качестве разделителя. Arg3
указывает, какие значения должны быть возвращены в качестве нового столбца. Возвращается только один столбец. Используйте отрицательное значение Arg3, чтобы указать, что разделение следует выполнять с конца строки к началу, а не наоборот. Например, если столбец Х, содержащий значение a.b, разделен на две части с использованием разделителя ., то Split([X],".",1) вернет a, а Split([X],".",2) вернет b. Примеры. Split([Column]," ",2) Split([Column]," ",-2) Split([Column]," / ",3) |
Substitute(Arg1, Arg2, Arg3) | Заменяет все вхождения Arg2 в Arg1 на Arg3. При поиске учитывается регистр символов. Пример. Substitute("Test","t","ting") → "Testing" |
Substring(Arg1, Arg2, Arg3) | Возвращает подстроку Arg1, начиная с индекса Arg2, длиной в Arg3 символов. Arg1 и результат являются строковыми. Arg2 и Arg3 являются значениями действительного типа, но используется только целая часть. Если Arg2 > Len(Arg1), возвращается пустая строка. В противном случае, если Arg2 +
Arg3 > Len(Arg1), Arg3 регулируется до 1+Len(Arg1) -
Arg2. Если Arg2 или Arg3 являются отрицательными либо если Arg2 равен нулю, то возвращается сообщение об ошибке. Примеры. Substring("Daddy", 2, 3) → "add" Substring("Daddy", 386, 4) → "" Substring("Daddy", 4, 386) → "dy" Substring("Daddy", -1, 2) → (Empty) Substring("Daddy", 2, -1) → (Empty) |
Trim(Arg1) | Удаляет пробелы с начала и из конца строки. Пример. Trim(" Example ") → "Example" |
UniqueConcatenate(Arg1) | Объединяет в цепочки уникальные значения, преобразованные в строки. Значения выстраиваются в соответствии со средством сравнения. Пример. UniqueConcatenate([Column]) |
Upper(Arg1) | Возвращает аргумент Arg1, преобразованный в верхний регистр. Arg1 и результат являются строковыми. Пример. Upper("hello") → "HELLO" |