Язык @-формул в LotusDomino R 6.

Определение вхождения подстроки в строку


@Begins( строка; подстрока )

@Begins( строка; список_подстрок

)

Область применения: без ограничений.

Определяет, является ли заданная подстрока

(или хотя бы один из элементов списка_подстрок) началом строки. Возвращает 1 (TRUE), если подстрока содержится в строке, начиная с первого символа, или 0 (FALSE), если нет. Учитывает регистр. Допустимо также использование в качестве первого аргумента списка строк. В этом случае проверяется, начинается ли хотя бы какой-нибудь элемент списка строк с подстроки

или элемента списка_подстрок.

Пример 1. Возвращает 1.

@Begins( "Привет всем"; "Привет" )

Пример 2. Возвращает 0.

@Begins( "Привет всем"; "привет" )

Пример 3. Проверяет поле Topic. Если это поле начинается со строки "объявление", возвращает строку "Объявление". В противном случае возвращает строку "В первую очередь".

@If( @Begins( topic; "объявление" ); "Объявление"; "В первую очередь" )



Пример 4. Возвращает 1.

@Begins( "Hello" : "world" : "Привет всем"; "Bye" : "Привет" )

@Contains( строка; подстрока )

@Contains( строка; список_подстрок )

Область применения: без ограничений.

Определяет, является ли подстрока (или хотя бы один из элементов списка_подстрок) частью строки. Возвращает 1 (TRUE), если подстрока содержится в строке; в противном случае возвращает 0 (FALSE). Учитывает регистр. Допустимо также использование в качестве первого аргумента списка строк. В этом случае проверяется, содержится ли в хотя бы каком-нибудь элементе списка строк подстрока

или элемента списка подстрок.

Пример 1. Возвращает 1.

@Contains( "Привет всем"; "вс" )

Пример 2. Проверяет, содержит ли поле Topic одно из словосочетаний "Я хочу", "Мне нужно", или "Я должен иметь". Если да, возвращает строку "Требуется вежливый отказ", в противном случае возвращает "Не медлить с ответом".


@If( @Contains( Topic; "Я хочу" : "Мне нужно" : "Я должен иметь" ); "Требуется вежливый отказ"; "Не медлить с ответом" )

Пример 3. Возвращает 1.

@Contains( "Hello" : "world" : "Пока и привет всем"; "Bye" : "привет" )

@Ends( строка; подстрока )                       

@Ends( строка; список_подстрок

)

Область применения: без ограничений.

Определяет, находится ли заданная подстрока

( или хотя бы один из элементов списка_подстрок) в самом конце строки. Возвращает 1 (TRUE), если да, или 0 (FALSE), если нет. Учитывает регистр. Допустимо также использование в качестве первого аргумента списка строк. В этом случае проверяется, заканчивается ли хотя бы какой-нибудь элемент списка строк с подстроки или элемента списка_подстрок.

Пример 1. Возвращает 1.

@Ends( "Привет всем"; "ем" )

Пример 2. Возвращает 0.

@Ends( "Привет всем"; "" )

Пример 3. Проверяет, имеются ли строки "Уланов" или "Туликов" или "Никонов" в конце содержимого поля Signature. Если да, возвращает строку "Подпись удостоверена"; в противном случае, возвращает строку "Подпись не удостоверена".

@If( @Ends( Signature; "Уланов" : "Туликов" : "Никонов");

 "Подпись удостоверена"; "Подпись не удостоверена" )

Пример 4. Возвращает 1.

@Ends( "Hello" : "world" : "Пока и привет всем";

"Bye" : "orld" )

@Matches( строка; образец )

Область применения: без ограничений.

Проверяет строку на соответствие строке образцу. Строка образец может содержать ряд символов обобщения и знаков логических операций. @Matches возвращает 1 (TRUE), если строка

соответствует образцу, или 0 (FALSE), если не соответствует.

Допустимо также использование в качестве первого и второго аргумента списка строк. В этом случае возвращается 1 (TRUE), если хотя один элемент списка строк  соответствует образцу или одному из элементов списка образцов.



Перечень допустимых символов обобщения и знаков логических операций:

Символ

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

C

Соответствует любому такому же символу С, но не самому символу "С"

?

Соответствует любому одному символу

*

Соответствует любой строке (любому количеству символов)

{ABC}

Соответствует любому символу из набора ABC

{А-КМ-П}

Соответствует любому символу из набора "от А до К" и "от М до П"

+C

Соответствует любому количеству символов C

!

Логическое НЕТ. Изменяет логическое значение образца на обратное

|

Логическое ИЛИ двух образцов

&

Логическое И двух образцов

Примеры соответствия образцу:

Образец

Соответствие

ABC

"ABC"

A?C

Любая строка из 3 символов, начинающаяся на "A" и заканчивающаяся "C"

???

Любая строка из 3 символов

\*\\

Только строка "*\"

+?

Любая строка, включая пустую

+?{А-Я}

Любая строка, заканчивающаяся заглавной буквой

+{!А-Я}

Строка, не содержащая заглавных букв

Пример 1. Возвращает 0.

@Matches( "Большая проверка"; "?проверка" )

Пример 2. Возвращает 1.

@Matches( "Большая проверка"; "????????проверка" )

Пример 3. Преобразует содержимое поля State в нижний регистр и возвращает 1 для любого значения в поле, содержащего "монт", например, "Вермонт" или "Монтана".

@Matches( @LowerСase( State ); "*монт*" )

Пример 4. Формула возвращает число 224, если в поле Division содержится "Центр" или "Урал". Если содержимое поля Division иное, формула возвращает число 124.

@If( @Matches( Division; "Центр|Урал" ); 224; 124 )

@Like( строка; образец )

@Like( строка; образец; строка_индикатор )

Область применения: без ограничений. Функция поддерживается драйвером NotesSQL ODBC.

Проверяет указанную строку на соответствие строке образцу. Строка образец может содержать ряд символов обобщения. @Like возвращает 1 (TRUE), если строка



соответствует образцу, или 0 (FALSE), если не соответствует. Третий параметр строка_индикатор не обязателен, он необходим в том случае, если в строке образце нужно указать для поиска символ, входящий в список символов обобщений. В этом случае такой символ предваряется в строке-образце строкой_индикатором.

Допустимо также использование в качестве первого и второго аргумента списка строк. В этом случае возвращается 1 (TRUE), если хотя один элемент списка строк соответствует образцу или одному из элементов списка образцов.

Перечень допустимых символов обобщения:

Символ

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

C

Соответствует любому такому же символу С,  но не самому символу "С"

_

(символ подчеркивания) Соответствует любому одному символу

%

Соответствует любой строке (любому количеству символов)

Пример 1. Возвращает 0.

@Like( "Большая проверка"; "_проверка" )

Пример 2. Возвращает 1.

@Like( "Большая проверка"; "%проверка" )

Пример 3. Возвращает 1.

@Like( "Count of people"; "/C%"; "/" )


Содержание раздела