Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Замечание
Группы интересов сообщества теперь переехали из Yammer в Microsoft Viva Engage. Чтобы присоединиться к сообществу Viva Engage и принять участие в последних обсуждениях, заполните форму " Запрос доступа к финансам и операциям Viva Engage Community " и выберите сообщество, к которому вы хотите присоединиться.
В этой статье описываются строковые функции времени выполнения.
спичка
Выполняет поиск строки или выражения в другой строке.
int match(str pattern, str text)
Параметры
| Параметр | Description |
|---|---|
| pattern | Строка или выражение для поиска. |
| текст | Строка для поиска. |
Возвращаемое значение
1 , если шаблон находится в строке; в противном случае — 0 (ноль).
Замечания
Поиск не учитывает регистр. Следующие специальные символы можно использовать для создания шаблона для параметра шаблона .
\: обратная косая черта (\) null уведомляет или экранирует, специальное лечение специальных символов, чтобы специальный символ можно было сопоставить как обычную букву. Пара обратной косой черты преобразуется в одну неспециальную обратную косую черту. Примеры.
- match("ab$cd","ab$cd"); возвращает значение 0.
- match("ab\$cd","ab$cd"); возвращает значение 0. Обратная косая черта не экранирована.
- match("ab\\$cd","ab$cd"); возвращает значение 1. Обратная косая черта и знак доллара экранируются.
< или ^: левая угловая скобка (<) или обрезание (^) в начале выражения используется для сопоставления начала строки. Примеры.
- match("<abc","abcdef"); возвращает значение 1.
- match("<abc","defabc"); возвращает значение 0.
- match("^abc","abcdef"); возвращает значение 1.
- match("^abc","defabc"); возвращает значение 0.
> или $: прямоугольная скобка (>) или знак доллара ($) в конце выражения используется для сопоставления конца строки. Примеры.
- match("abc>","abcdef"); возвращает значение 0.
- match("abc>","defabc"); возвращает значение 1.
? или.: вопросительный знак (?) или точка (.) совпадает с любым символом в той же позиции. Примеры.
- match("abc.def","abc#def"); возвращает значение 1.
- match("colou?r","colouXr"); возвращает значение 1.
:x: двоеточие (:) указывает группу символов для сопоставления, как указано символом, который сразу же следует.
:a. Задает соответствие буквам. Примеры.
- match("ab:acd","ab#cd"); возвращает значение 0.
- match("ab:acd","abxyzcd"); возвращает значение 0.
- match("ab:acd","abxcd"); возвращает значение 1.
:d. Задает соответствие числовым символам. Примеры.
- match("ab:dcd","ab3cd"); возвращает значение 1.
- match("ab:dcd","ab123cd"); возвращает значение 0.
- match("ab:dcd","abcd"); возвращает значение 0.
:n: задает соответствие буквенно-цифровым символам. Примеры.
- match("ab:ncd","ab%cd"); возвращает значение 0.
- match("ab:ncd","ab9cd"); возвращает значение 1.
- match("ab:ncd","abXcd"); возвращает значение 1.
:SPACE: ПРОБЕЛ — это символ пробела (" "). Задает совпадение пустым, табуляциям и контрольным символам, таким как ВВОД (новая строка). Примеры.
- match("ab: cd","ab cd"); возвращает значение 1.
- match("ab: cd","ab\ncd"); возвращает значение 1.
- match("ab: cd","ab\tcd"); возвращает значение 1.
- match("ab: cd","ab cd"); возвращает значение 0. Совпадает только первое пространство.
*: выражение, за которым следует звездочка ("*") требуется совпадение для нуля, одного или нескольких вхождения предыдущего выражения. Примеры.
- match("abc*d","abd"); возвращает значение 1.
- match("abc*d","abcd"); возвращает значение 1.
- match("abc*d","abcccd"); возвращает значение 1.
- match("abc*d","abxd"); возвращает значение 0.
+: выражение, за которым следует знак плюса (+) требуется совпадение для одного или нескольких вхождений предыдущего выражения. Примеры.
- match("abc+d","abd"); возвращает значение 0.
- match("abc+d","abcd"); возвращает 1
- match("abc+d","abcccd"); возвращает значение 1.
- match("abc+d","abxd"); возвращает значение 0.
-: выражение, за которым следует знак минуса (-) требуется совпадение для нуля или одного вхождения предыдущего выражения. Другими словами, предыдущее выражение является необязательным. Примеры.
- match("colou-r","color"); возвращает значение 1.
- match("colou-r","цвет"); возвращает значение 1.
[]: соответствует одному символу с любым символом, заключенным в квадратные скобки. Диапазон символов можно указать двумя символами, разделенными знаком минус (-). Например, [a-z] соответствует всем буквам между a и z, [0-9] соответствует цифре, а [0-9a-f] соответствует шестнадцатеричной цифре. Примеры.
- match("[abc]","apple"); возвращает значение 1, так как оно соответствует "apple".
- match("[abc]","kiwi"); возвращает значение 0, так как "kiwi" не содержит a, b или c.
- match("gr[ae]y", "серый"); возвращает значение 1. Это выражение также соответствует "серым".
- match("gr[ae]y","graey"); возвращает значение 0, так как сопоставляется только один символ между "gr" и "y".
[^]: если первый символ текста, заключенного в квадратные скобки, является обрезанием (^), выражение соответствует всем символам, кроме символов, заключенных в квадратные скобки. Примеры.
- match("^bc]at","bat"); возвращает значение 0.
- match("^bc]at","hat"); возвращает значение 1.
- match("[^abc]","bat"); возвращает значение 1. Все, кроме b или c, совпадает. Таким образом, совпадает значение t.
strAlpha
Копирует только буквенно-цифровые символы из строки.
str strAlpha(str _text)
Параметры
| Параметр | Description |
|---|---|
| _СМС | Строка для копирования. |
Возвращаемое значение
Новая строка, содержащая все буквенно-цифровые символы из указанной строки.
Замечания
Например, strAlpha("2+2=5 это правильно?") возвращает строку 225isthiscorrect.
Example
static void strAlphaExample(Args _arg)
{
str s;
;
s = strAlpha("?a*bc123.");
print s;
pause;
}
strCmp
Сравнивает две текстовые строки.
int strCmp(str text1, str text2)
Параметры
| Параметр | Description |
|---|---|
| text1 | Первая строка. |
| text2 | Вторая строка. |
Возвращаемое значение
Значение 0 , если две строки идентичны, 1 , если первая строка сортируется ранее или -1 , если вторая строка сортируется ранее.
Замечания
Сравнение, выполняемое этим методом, учитывает регистр.
print strCmp("abc", "abc"); //Returns the value 0.
print strCmp("abc", "ABC"); //Returns the value 1.
print strCmp("aaa", "bbb"); //Returns the value -1.
print strCmp("ccc", "bbb"); //Returns the value 1.
strColSeq
Преобразует все прописные символы в строчные символы и преобразует все символы, имеющие акценты, в соответствующие несметные строчные символы.
str strColSeq(str text)
Параметры
| Параметр | Description |
|---|---|
| текст | Строка для копирования и преобразования символов из. |
Возвращаемое значение
Преобразованная текстовая строка.
Замечания
Функция strColSeq существует в целях обратной совместимости. Эта функция поддерживает только сопоставление следующих символов Западной Европы:
- AàáãäÀÁÁÁÁÁÄÄBCçÇDEèéêèÉÊÉFGHIFGHIíÍÍÍÍÍYKLMNÑOóôõÓÓÔÓÔÕÖPQRQRSTUúÚÚÚVÜVYYyýZöÖÖÅÅÅ
- aaabcccdeeefghiiiiiiijknnnooooopqruuwwyyyz~~Ç~~~ÇÇ
Для функциональных возможностей, совместимых с Юникодом, используйте интерфейс программирования приложений Win32 LCMapString (API) через классы DLL и DLLFunc .
Example
В следующем примере выводится abcdeabcde.
static void strColSeqExample(Args _arg)
{
;
print strColSeq("");
pause;
}
strDel
Создает копию строки, из которой удаляется указанная подстрока.
str strDel(str _text, int _position, int _number)
Параметры
| Параметр | Description |
|---|---|
| _СМС | Строка для копирования. |
| _позиция | Позиция, с которой начинается игнорировать символы во время операции копирования. |
| _число | Количество символов, которые следует игнорировать. Знак минуса перед параметром _number указывает, что _number–1 символов перед символом в _position следует удалить вместе с символом в _position. |
Возвращаемое значение
Оставшиеся символы, скопированные из строки.
Замечания
Функция strDel дополняет функцию подстроки .
strDel("ABCDEFGH",2,3); //Returns the string "AEFGH".
strDel("ABCDEFGH",4,3); //Returns the string "ABCGH".
strFind
Выполняет поиск строки для первого вхождения одного из указанных символов.
int strFind(str _text, str _characters, int _position, int _number)
Параметры
| Параметр | Description |
|---|---|
| _СМС | Строка для поиска. |
| _письмена | Символы для поиска. |
| _позиция | Позиция в строке, в которой начинается поиск. |
| _число | Подписанный номер, указывающий направление поиска и количество позиций для поиска в строке. |
Возвращаемое значение
Значение позиции первого вхождения одного из указанных символов или 0, если ни один из них не найден.
Замечания
Чтобы выполнить поиск с начала строки до конца, используйте 1 в качестве значения параметра _position . Если значение параметра _number отрицательное, система выполняет поиск числа символов назад от указанной позиции. При поиске регистр не учитывается. Вот пример.
strFind("ABCDEFGHIJ","KHD",1,10); //Returns the value 4 (the position where "D" was found).
strFind("ABCDEFGHIJ","KHD",10,-10); //Returns the value 8 (the position where "H" was found).
Функция strFind дополняет функцию strNFind .
strFmt
Форматирует указанную строку и заменяет любые вхождения n аргументом n.
str strFmt(str _string, ...)
Параметры
| Параметр | Description |
|---|---|
| _струна | Строки для форматирования. |
Возвращаемое значение
Отформатированная строка.
Замечания
Если аргумент не указан для параметра, параметр возвращает значение "%n" в строке. Строковое преобразование значений реального типа ограничено двумя десятичными разрядами. Значения округляются, не усечены. Метод System.String::Format из Microsoft .NET Framework можно использовать для получения дополнительных функций, как показано в примере.
Example
static void strFmtExampleJob(Args _arg)
{
System.Double sysDouble;
real r = 8.3456789;
int i = 42;
utcDateTime utc = str2DateTime("2008-01-16 13:44:55" ,321); // 321 == YMD.
str s;
;
s = strFmt("real = %1, int = %2, utcDateTime = %3, [%4]", r, i, utc);
info("X1: " + s);
//
sysDouble = r;
s = System.String::Format("{0:##.####}", sysDouble);
info("N1: " + s);
//
s = System.String::Format("{0,6:C}", sysDouble); // $
info("N2: " + s);
/********** Actual Infolog output
Message (02:16:05 pm)
X1: real = 8.35, int = 42, utcDateTime = 1/16/2008 01:44:55 pm, [%4]
N1: 8.3457
N2: $8.35
**********/
}
strIns
Создает строку, вставляя одну строку в другую.
str strIns(str _text1, str _text2, int _position)
Параметры
| Параметр | Description |
|---|---|
| _text1 | Строка, вставляемая в другую строку. |
| _text2 | Строка для вставки в другую строку. |
| _позиция | Позиция, в которой должен находиться первый символ параметра _text2 в выходной строке. |
Возвращаемое значение
Объединенная текстовая строка.
Замечания
Функция strIns дополняет функцию strDel . Если значение параметра _position превышает длину исходной строки, строка для вставки добавляется в конец исходной строки.
strIns("ABFGH","CDE",3); //Returns the string "ABCDEFGH".
strIns("ABCD","EFGH",10); //Returns the string "ABCDEFGH".
strKeep
Создает строку, используя только символы из первой входной строки, которую следует сохранить второй входной строке.
str strKeep(str _text1, str _text2)
Параметры
| Параметр | Description |
|---|---|
| _text1 | Строка, содержащая символы, которые можно использовать для создания выходной строки. |
| _text2 | Строка, указывающая, какие символы следует хранить для выходной строки. |
Возвращаемое значение
Строка хранимых символов.
Замечания
strKeep("ABBCDDEFGHB","BCD"); //Returns the string "BBCDDB".
strKeep("abcZcba","bc") //Returns the string "bccb".
Функция strKeep дополняет функцию strRem .
strLen
Вычисляет длину указанной строки.
int strLen(str text)
Параметры
| Параметр | Description |
|---|---|
| текст | Строка для вычисления длины. |
Возвращаемое значение
Длина указанной строки.
Замечания
strLen("ABC"); //Returns the value 3.
strLen("ABCDEFGHIJ"); //Returns the value 10.
strLine
Извлекает одну строку из строки, которая охватывает несколько строк.
str strLine(str string, int count)
Параметры
| Параметр | Description |
|---|---|
| струна | Строка, которая может охватывать несколько строк. |
| count | Смещение возвращаемой строки. |
Возвращаемое значение
Скопированная строка строки строки, указанной параметром строки .
Замечания
Первая строка строки имеет смещение 0. Можно назначить несколько строк одной строке, встроив в строку\n или \r\n символы. Кроме того, вы можете использовать знак at (@) непосредственно перед открытием кавычки и использовать клавишу ВВОД для распространения частей строкового значения по нескольким строкам в редакторе кода X++.
Example
str mytxt = "first-line\nsecond-line\nlast-line";
// Prints "second-line".
print strLine(mytxt,1);
// Prints "last-line".
print strLine(mytxt,2);
strLTrim
Удаляет пробелы в начале из текстовой строки.
str strLTrim(str text)
Параметры
| Параметр | Description |
|---|---|
| текст | Строка для удаления ведущих пустых значений из. |
Возвращаемое значение
Строка, эквивалентная тексту, из который были удалены ведущие пустоты.
Замечания
Функция strLTrim дополняет функцию strRTrim .
Example
// Returns the text string "ABC-DEFG".
strLTrim(" ABC-DEFG");
strLwr
Преобразует все буквы в указанной строке в строчные буквы.
str strLwr(str _text)
Параметры
| Параметр | Description |
|---|---|
| _СМС | Строка для преобразования в нижний регистр. |
Возвращаемое значение
Копия указанной строки, содержащей только строчные буквы.
Замечания
Функция strLwr дополняет функцию strUpr . Функция strLwr использует функцию LCMapString в API Win32.
Example
static void strLwrExample(Args _args)
{
// Returns the text string "abcdd55efghij".
print strLwr("Abcdd55EFGHIJ");
pause;
}
strNFind
Выполняет поиск части текстовой строки для первого вхождения символа, который не включен в указанный список символов.
int strNFind(str _text, str _characters, int _position, int _number)
Параметры
| Параметр | Description |
|---|---|
| _СМС | Текстовая строка для поиска. |
| _письмена | Список символов, которые следует исключить из поиска. |
| _позиция | Позиция в строке, с которой начинается поиск. |
| _число | Подписанный номер, указывающий направление поиска и количество позиций для поиска. Если знак минуса предшествует _number, система выполняет поиск _number символов в обратном порядке от _position. |
Возвращаемое значение
Позиция первого вхождения символа, который не указан параметром _characters, или значение 0 при обнаружении.
Замечания
При поиске регистр не учитывается. Чтобы выполнить поиск с начала строки до конца, используйте значение 1 для параметра _position . Если знак минуса предшествует значению параметра _number , символы выполняются в обратном порядке, начиная с позиции, указанной параметром _position .
strNFind("ABCDEFGHIJ","ABCDHIJ",1,10); //Returns the value 5 (the position of "E");
strNFind("CDEFGHIJ","CDEFGIJ",10,-10); //Returns the value 6 (the position of "H").
strNFind("abcdef","abCdef",3,2) //Returns the value 0.
strNFind("abcdef", "abcef",3,2) //Returns the value 4.
Функция strNFind дополняет функцию strFind .
strPoke
Перезаписывает часть строки другой строкой.
str strPoke(str _text1, str _text2, int _position)
Параметры
| Параметр | Description |
|---|---|
| _text1 | Исходная строка. |
| _text2 | Строка для замены части исходной строки. |
| _позиция | Позиция исходной строки, с которой начинается замена символов. |
Возвращаемое значение
Новая строка.
Замечания
Новая строка может быть длиннее исходной строки. Однако если значение параметра _position больше длины строки, исходная строка возвращается без замены.
strPoke("12345678","AAA",3); //Returns the string "12AAA678".
strPoke("abcde","4567",4); //Returns the string "abc4567".
strPoke("abcde", "4567", "10"); //Returns the string "abcde".
strPrompt
Добавляет строку с указанным числом символов периода, за которым следует двоеточие и пробел.
str strPrompt(str _string, _int len)
Параметры
| Параметр | Description |
|---|---|
| _струна | Исходная строка. |
| _Лен | Требуемая окончательная длина строки. |
Возвращаемое значение
Строка, которая выглядит как запрос ввода пользователем.
Замечания
В нетипичных случаях, когда значение параметра _len лишь немного больше длины исходной строки, то самое большое значение присваивается добавлению конечного пространства. Далее приоритет присваивается двоеточию. Наименьший приоритет присваивается периодам. Отрицательные значения для параметра _len возвращают входную строку, добавленную с конечным пробелом.
strPrompt("ab",-1); //Returns "ab ".
strPrompt("ab",3); //Returns "ab ".
strPrompt("ab",4); //Returns "ab: ".
strPrompt("ab",5); //Returns "ab.: ".
strPrompt("ab",6); //Returns "ab..: ".
Example
static void JobStrPromptDemo(Args _args)
{
// Printed string is "[abc..: ]"
print "[", strPrompt("abc", 7), "]";
pause;
}
strRem
Удаляет символы, указанные в одной строке из другой строки.
str strRem(str text1, str text2)
Параметры
| Параметр | Description |
|---|---|
| text1 | Строка для удаления символов. |
| text2 | Символы, которые следует исключить из выходной строки. |
Возвращаемое значение
Оставшееся содержимое исходной строки.
Замечания
Эта функция чувствительна к регистру.
strRem("abcd_abcd","Bc"); //Returns the string "abd_abd".
strRem("ABCDEFGABCDEFG","ACEG"); //Returns the string "BDFBDF".
Эта функция дополняет функцию strKeep .
strRep
Повторяет строку символов.
str strRep(str _text, str _number)
Параметры
| Параметр | Description |
|---|---|
| _СМС | Строка, которая будет повторяться. |
| _число | Число повторов строки. |
Возвращаемое значение
Новая строка, содержащая содержимое исходной строки, которая повторяет указанное количество раз.
Example
В следующем примере выводится текстовая строка ABABABABABABB.
static void strRepExample(Args _arg)
{
str strL;
;
strL = strRep("AB",6);
print strL;
pause;
}
strRTrim
Удаляет конечные пробелы из конца строки.
str strRTrim(str _text)
Параметры
| Параметр | Description |
|---|---|
| _СМС | Строка для удаления конечных пробелов из. |
Возвращаемое значение
Копия указанной строки, которая не содержит конечные пробелы.
Замечания
strRTrim("ABC-DEFG- "); //Returns the string "ABC-DEFG-".
strRTrim(" CD "); //Returns " CD".
Функция strRTrim дополняет функцию strLTrim .
strScan
Выполняет поиск текстовой строки для вхождения другой строки.
int strScan(str _text1, str _text2, int _position, int _number)
Параметры
| Параметр | Description |
|---|---|
| _text1 | Строка для поиска. |
| _text2 | Строка для поиска. |
| _позиция | Первая позиция в параметре _text1 , по которому выполняется сравнение. |
| _число | Количество позиций в параметре _text1 для повторения сравнения. Если знак минуса предшествует параметру _number , система выполняет поиск количества символов в обратном порядке из указанной позиции. |
Возвращаемое значение
Позиция, в которой указанная строка была найдена в строке; в противном случае — 0 (ноль).
Замечания
Сравнения не учитывает регистр. Значения параметра _position , которые меньше 1 , обрабатываются как 1. Направление сканирования управляется знаком, указанным в параметре _number . Положительный знак указывает, что каждое последовательное сравнение начинает одну позицию ближе к концу строки. Отрицательный знак указывает, что каждое сравнение начинает одну позицию ближе к началу строки.
strScan("ABCDEFGHIJ","DEF",1,10); //Returns the value 4.
strScan ("ABCDEFGHIJ","CDE",10,-10); //Returns the value 3.
strUpr
Преобразует все буквы в строку в верхний регистр.
str strUpr(str _text)
Параметры
| Параметр | Description |
|---|---|
| _СМС | Строка для преобразования в прописные буквы. |
Возвращаемое значение
Копия указанной строки, содержащей только строчные буквы.
Замечания
Функция strUpr дополняет функцию strLwr . Функция strUpr использует функцию LCMapString() в API Win32.
Example
В следующем примере выполняется печать ABCDD55EFGHIJ.
static void strUprExample(Args _args)
{
print strUpr("Abcdd55EFGhiJ");
pause;
}
subStr
Извлекает часть строки.
str subStr(str _text, int _position, int _number)
Параметры
| Параметр | Description |
|---|---|
| _СМС | Исходная строка. |
| _позиция | Позиция в исходной строке, в которой начинается извлекаемая часть. |
| _число | Целое число со знаком, указывающее направление и количество позиций, извлекаемых из исходной строки. Если знак минуса предшествует _number, система выбирает подстроку назад из указанной позиции. |
Возвращаемое значение
Подстрока исходной строки.
Замечания
Если знак минуса предшествует значению параметра _number , подстрока выбирается назад из указанной позиции.
subStr("ABCDEFGHIJ",3,5); //Returns the string "CDEFG".
subStr("ABCDEFGHIJ",7,-4); //Returns the string "DEFG".
subStr("abcdef",2,99) //Returns the string "bcdef".
subStr("abcdef",2,3) //Returns the string "bcd".
subStr("abcdef",2,-3); //Returns the string "ab".
strContains
Проверяет, содержит ли текстовая строка другую строку.
boolean strContains(str _text, str _potentialContains)
Параметры
| Параметр | Description |
|---|---|
| _СМС | Исходная строка для поиска. |
| _potentialContains | Строка для поиска. |
Возвращаемое значение
Значение True, если исходная строка содержит поисковую строку; в противном случае значение false.
Замечания
Сравнения не учитывает регистр.
strContains("ABCDEFGHIJ","abc"); //Returns true.
strContains("ABCDEFGHIJ","ABC"); //Returns true.
strContains("ABCDEFGHIJ","K"); //Returns false.
strStartsWith
Проверяет, начинается ли текстовая строка с другой строки.
boolean strStartsWith(str _string, str _potentialStart)
Параметры
| Параметр | Description |
|---|---|
| _струна | Исходная строка для поиска. |
| _potentialStart | Потенциальная строка, которая находится в начале. |
Возвращаемое значение
Значение true, если потенциальная строка является началом исходной строки; в противном случае значение false.
Замечания
Сравнения не учитывает регистр.
strStartsWith("ABCDEFGHIJ","abc"); //Returns true.
strStartsWith("ABCDEFGHIJ","ABC"); //Returns true.
strStartsWith("ABCDEFGHIJ","B"); //Returns false.
strEndsWith
Проверяет, заканчивается ли текстовая строка другой строкой.
boolean strEndsWith(str _string, str _potentialEnd)
Параметры
| Параметр | Description |
|---|---|
| _струна | Исходная строка для поиска. |
| _potentialEnd | Потенциальная строка, которая находится в конце. |
Возвращаемое значение
Значение True, если потенциальная строка завершает исходную строку; в противном случае значение false.
Замечания
Сравнения не учитывает регистр.
strEndsWith("ABCDEFGHIJ","ghij"); //Returns true.
strEndsWith("ABCDEFGHIJ","HIJ"); //Returns true.
strEndsWith("ABCDEFGHIJ","B"); //Returns false.
strLRTrim
Удаляет пробелы в начале и хвосте из текстовой строки.
str strLRTrim(str text)
Параметры
| Параметр | Description |
|---|---|
| текст | Строка для удаления ведущих и хвостовых пустых значений. |
Возвращаемое значение
Копия указанной строки, которая не включает начальные и конечные пробелы.
Замечания
Функция strLRTrim дополняет функции strRTrim и strLTrim .
Example
// Returns the text string "ABC-DEFG".
strLRTrim(" ABC-DEFG ");