Назад Далее

Класс BirtStr

Класс BirtStr предоставляет функции для работы со строками, например, для конкатенации строк, усечения лишних пробелов, получения фрагментов строки, и отображения строк в нижнем или верхнем регистре. Это статический класс. Приложения не могут создавать экземпляры данного класса.

BirtStr.charLength

Эта функция возвращает длину указанной строки.

Синтаксис

integer BirtStr.charLength( string source )

Параметр

source

String. Проверяемая строка.

Возвращает

Integer. Количество символов в указанной строке.

Примеры

В следующем примере возвращается длина указанной строки:

BirtStr.charLength( "Julie Murphy" ) // возвращает 12

В следующем примере возвращается длина каждого значения в поле CustomerName:

BirtStr.charLength( row["CustomerName"] )

BirtStr.concat

Эта функция возвращает строку, полученную в результате конкатенации указанных строк.

Синтаксис

string BirtStr.concat( string source1, ..., sourceN )

Параметр

source1, ..., sourceN

String. Строки для конкатенации.

Возвращает

String. Строка, полученная в результате конкатенации ряда строк.

Пример

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

BirtStr.concat( row["AddressLine1"], ", ", row["AddressLine2"], ", ", row["City"], " ", row["PostalCode"], "row["State"], ", ", row["Country"] )

BirtStr.indexOf

Эта функция возвращает позицию указанной подстроки в заданной строке.

Синтаксис

integer BirtStr.indexOf( sring target, string source, integer start )

Параметры

target

String. Искомая подстрока. Поиск ведется с учетом регистра.

source

String. Строка, в которой требуется найти указанную подстроку.

start

Integer. Необязательный атрибут. Позиция в исходной строке, с которой требуется начать поиск. Если этот параметр не задан, функция начнет поиск с первого символа строки.

Возвращает

Integer. Числовое обозначение позиции подстроки в строке. Индексация символов строки начинается с 0. Если подстрока не найдена, функция возвращает -1.

Примеры

В следующем примере возвращается числовая позиция указанных символов в указанных строках:

BirtStr.indexOf( " ", "Julie Murphy" ) // возвращает 5
BirtStr.indexOf( "-", "ModelA-1234-567" ) // возвращает 6
BirtStr.indexOf( "-", "ModelA-1234-567", 7 ) // возвращает 11

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

spaceCharPosition = BirtStr.indexOf( " ", row["customerName"] );
displayFirstName = BirtStr.left( row["customerName"], spaceCharPosition );

Если имя клиента - Julie Murphy, выражение возвращает Julie.

BirtStr.left

Эта функция извлекает подстроку указанной длины из строки, начиная с самого левого (первого) символа.

Синтаксис

string BirtStr.left( string source, integer n )

Параметры

source

String. Строка, из которой требуется извлечь подстроку.

n

Integer. Число извлекаемых символов, начиная с первого символа.

Возвращает

Строка. Подстрока определенной длины.

*
*
*

Примеры

В следующем примере из указанных строк возвращаются подстроки разной длины:

BirtStr.left( "Julie Murphy", 5 ) // возвращает Julie
BirtStr.left( "Julie Murphy", 12 ) // возвращает Julie Murphy

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

spaceCharPosition = BirtStr.indexOf( " ", row["customerName"] );
displayFirstName = BirtStr.left( row["customerName"], spaceCharPosition );

Если имя клиента - Julie Murphy, выражение возвращает Julie.

BirtStr.right

Эта функция извлекает подстроку указанной длины из строки, начиная с самого правого (последнего) символа.

Синтаксис

String BirtStr.right( String source, integer n )

Параметры

source

String. Строка, из которой требуется извлечь подстроку.

n

Integer. Число извлекаемых символов, начиная с последнего символа.

Возвращает

String. Подстрока определенной длины.

*
*
*

Примеры

В следующем примере из указанных строк возвращаются подстроки разной длины:

BirtStr.right( "Julie Murphy", 6 ) // возвращает Murphy
BirtStr.right( "Julie Murphy", 12 ) // возвращает Julie Murphy

В следующем примере использована функция BirtStr.right( ) в сочетании с функциями BirtStr.indexOf( ) и BirtStr.charLength( ) для отображения символов, следующих за пробелом в имени клиента. В этом примере предполагается, что число символов после дефиса не совпадает. Поэтому при вычитании из длины всей строки (возвращаемой функцией BirtStr.charLength( )) длины строки до дефиса (возвращаемой функцией BirtStr.indexOf( )) получается количество символов для отображения.

spaceCharPosition = BirtStr.indexOf( " ", row["customerName"] );
displayLastName = BirtStr.right( row["customerName"], (BirtStr.charLength( row["customerName"] - (spaceCharPosition + 1)) )

Если имя клиента - Julie Murphy, выражение возвращает Murphy. Если имя клиента - Kwai Li, выражение возвращает Li.

BirtStr.search

Эта функция возвращает позицию указанной подстроки в заданной строке. В подстроке могут содержаться символы подстановки.

Синтаксис

integer BirtStr.search( string pattern, string source, integer index )

Параметры

pattern

String. Шаблон строки для поиска. Поиск ведется без учета регистра. В шаблоне можно использовать следующие символы подстановки:

*
*

Для сравнения с действительными символами звездочка или знак вопроса, которые могут находиться в строке, необходимо поместить перед этими символами два символа обратная косая черта (\\). Например, для поиска подстроки R*10 используйте следующий шаблон строки:

"R\\*10"

source

String. Строка, в которой требуется найти указанную подстроку.

index

Integer. Необязательный атрибут. Позиция в исходной строке, с которой требуется начать поиск. Если этот параметр не задан, функция начнет поиск с первого символа строки.

Возвращает

Integer. Числовое обозначение позиции подстроки в строке. Индексация символов строки начинается с 0. Если подстрока не найдена, функция возвращает -1.

Примеры

В следующем примере возвращается числовая позиция указанных шаблонов строки в указанных строках:

BirtStr.search( "XM?", "XMS-ModelA-1234-567" ) // returns 0
BirtStr.search( "ModelA*", "XMS-ModelA-1234-567" ) // возвращает 4
BirtStr.search( "-", "XMS-ModelA-1234-567", 4 ) // возвращает 10

В следующем примере выполняется поиск шаблона строки S*A в каждом значении поля ProductCode. Если код продукта - KBS5412A, выражение возвращает 2.

BirtStr.search( "S*A", row["ProductCode"] )

В следующем примере использована функция BirtStr.search( ) в сочетании с функцией BirtStr.left( ) для отображения символов, расположенных перед шаблоном строки -Model* в имени клиента. Функция BirtStr.left( ) извлекает подстроку указанной длины, начиная с первого символа. В этом примере длина подстроки для отображения равна числовой позиции шаблона строки.

stringPatternPosition = BirtStr.search( "-Model*", row["productName"] );
displayString = BirtStr.left( row["productName"], stringPatternPosition );

Если код продукта - XMS-ModelA-1234, выражение возвращает XMS.

BirtStr.toLower

Эта функция преобразует все буквы строки в строчные.

Синтаксис

string BirtStr.toLower( string source )

Параметр

source

String. Строка, преобразуемая в нижний регистр.

Возвращает

String. Указанная строка, в которой все буквы преобразованы в строчные

Пример

В следующем примере все значения в поле productLine показаны в нижнем регистре:

BirtStr.toLower( row["productLine"] )

BirtStr.toUpper

Эта функция преобразует все буквы строки в прописные.

Синтаксис

string BirtStr.toUpper( string source )

Параметр

source

String. Строка, преобразуемая в верхний регистр.

Возвращает

String. Указанная строка, в которой все буквы преобразованы в прописные

Пример

В следующем примере все значения в поле customerName показаны в верхнем регистре:

BirtStr.toUpper( row["customerName"] )

BirtStr.trim

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

Синтаксис

string BirtStr.trim( string source )

Параметр

source

String. Строка, из которой требуется удалить начальные и конечные пробелы.

Возвращает

String. Строка, в которой удалены все начальные и конечные пробелы.

Пример

В следующем примере используется функция BirtStr.trim( ) для удаления всех начальных и конечных пробелов из значений в полях данных FirstName (имя) и LastName (фамилия).

BirtStr.trim( row["FirstName"]) + " " + BirtStr.trim(row["LastName"] )

BirtStr.trimLeft

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

Синтаксис

string BirtStr.trimLeft( string source )

Параметр

source

String. Строка, из которой требуется удалить начальные пробелы.

Возвращает

String. Строка, в которой удалены все начальные пробелы.

Пример

В следующем примере выполняется конкатенация литеральной строки с каждым значением в поле customerName (имя клиента). Функция BirtStr.trimLeft( ) удаляет все пробелы, расположенные перед значением поля customerName, чтобы между литеральной строкой и значением поля customerName не оставалось ни одного лишнего пробела.

"Customer name: " + BirtStr.trimLeft( row["customerName"] )

BirtStr.trimRight

Эта функция возвращает строку, в которой удалены все конечные пробелы. Пробелы между словами сохраняются.

Синтаксис

string BirtStr.trimRight( string source )

Параметр

source

String. Строка, из которой требуется удалить конечные пробелы.

Возвращает

String. Строка, в которой удалены все конечные пробелы.

Пример

В следующем примере выполняется конкатенация каждого значения в поле Comment (комментарий) с символом точка с запятой, затем со значением в поле Action (действие). Функция BirtStr.trimRight( ) удаляет все пробелы, расположенные после значения поля Comment, чтобы между строкой Comment и символом точка с запятой не оставалось ни одного лишнего пробела.

BirtStr.trimRight( row["Comment"]) + "; " + row["Action"] )

(c) Copyright Actuate Corporation 2013