Преобразования текста
%UMCCUTFROMTO("Text","FromS","ToS") -
вырезает из текста часть от первого вхождения "FromS" до первого
вхождения "ToS".
Например, %UMCCUTFROMTO("Я был когда-то странной","был ","-то") вернёт
"когда".
Если "fromS" либо "ToS" не содержатся в тексте, текст по
соответствующей строке не обрезается.
Например, %UMCCUTFROMTO("Я был когда-то странной","Собака","-то") даст
"я был когда". %UMCIZVRAT("Text",Value) -
обрабатывает русский текст, заменяя случайным образом гласные буквы - на
другие гласные, а согласные - на другие согласные. Параметр Value
указывает частоту изменений. 0 - текст не будет обработан, 100 - все
буквы будут заменены, 5 - будет обработано примерно 5% текста.
%UMCTRANSLIT("Text") - преобразует русский
текст в транслит, совместимый с правилами транскрипции, принятой в
английском языке. %UMCTRANSLIT("Черенок")
даст Cherenok
%UMCTRANSLIT2("Text") - преобразует русский
текст в транслит по "варварской" транскрипции путём замены русских букв
на сходные по написанию латинские. %UMCTRANSLIT2("Черенок")
даст 4epeHok
%UMCRCASE ("Text") - преобразует
текст в текст со случайным регистром символов.
%UMCMKPLAIN("Text") - преобразует
многострочный текст в одну строку.
%UMCKILLEMPTYSTR("Text") - возвращает текст
без пустых строк и строк, состоящих только из пробелов.
%UMCNUMTOSTR(Number,p,g) либо %UMCNUMTOSTR(Number,p) либо %UMCNUMTOSTR(Number) - преобразует число
цифрой в количественное
числительное прописью. P указывает падеж. (I или И - именительный, R или
Р(русское) - родительный, D или Д - дательный, T(латинская или русская)
- творительный, P(латинский) или П - предложный. Винительный падеж
(одуш.) совпадает по форме с родительным, или именительным (неодуш.). По
умолчанию - именительный падеж). g указывает род. (M (латинская или
русская) - мужской род, F или Ж - женский. По умолчанию - мужской). Например, %UMCNUMTOSTR(43008040,I) даст сорок три
миллиона восемь тысяч сорок.
%UMCNUMTOSTRА(Number,p,g) - преобразует
число цифрой в порядковое
числительное прописью. P указывает падеж. (I или И - именительный, R или
Р(русское) - родительный, D или Д - дательный, T(латинская или русская)
- творительный, P(латинский) или П - предложный. Винительный падеж
(одуш.) совпадает по форме с родительным, или именительным (неодуш.). По
умолчанию - именительный падеж). g указывает род/число. (M (латинская
или русская) - мужской род, ед. ч., F или Ж - женский ед. ч., С
(русская) или N - средний род, ед. ч., Н (русская) или P (латинская) -
множественное число. По умолчанию используется мужской род). Например, %UMCNUMTOSTRA(2737783,I,N) даст два миллиона
семьсот тридцать семь тысяч семьсот восемьдесят третье.
%UMCREPLACENUM("Text","plist","llist") -
заменяет в указанном тексте числа цифрами на числительные.
Параметр plist служит для указания падежа, где N-я буква - это падеж
N-й цифры, встретившейся в тексте. Параметр llist служит для указания
рода, числа и типа числительного. (Возможные значения: M (латинская или
русская) - мужской род, ед. ч., порядковое, F или Ж - женский ед. ч.,
порядковое, С (русская) или N - средний род, ед. ч., порядковое, Н
(русская) или P (латинская) - множественное число, порядковое, m или м,
или 1 - мужской род, количественное, f, или ж, или 2 - женский род,
количественное).. По умолчанию используется мужской род). По умолчанию
падеж полагается именительным, тип - количественное. Например, %UMCREPLACENUM("12 октября 2004
года 23:20","ИРИИ","СС1м") вернёт строку
двенадцатое
октября две тысячи четвёртого года двадцать три:двадцать
где первое числительное - 12 - стоит
в именительном падеже,среднем роде и является порядковым, второе - 2004
- в родительном, среднем роде, является порядковым, третье и четвёртое
числа - 23 и 20 - стоят в именительном падеже, мужском роде, являются
количественными числительным. Параметры "plist" и "llist" могут
отсутствовать либо быть короче общего числа чисел в тексте. В этом
случае по используются значения по умолчанию, где это необходимо.
%UMCBYTESTOSTRRUS(P,UNITS,NUMBER) -
преобразующий число в байтах в число в байтах прописью.
( падежи слова "байт" и числительного согласуются!).
P - падеж (I или И - именительный, R или Р(русское) - родительный, D
или Д - дательный, T(латинская или русская) - творительный,
P(латинский) или П - предложный. Винительный падеж (одуш.) совпадает
по форме с родительным, или именительным (неодуш.). По умолчанию -
именительный падеж).
UNIT - единицы измерения на выходе (B-байты, K-килобайты,
M-мегабайты, G-гигабайты, T-терабайты).
NUMBER - Само число. Можно использовать в комплекте с макросами,
возвращающими размер файлов или свободного места на диске, указав им в
параметрах, что возвращаемое значение должно быть в БАЙТАХ.
%UMCBYTESTOSTRRUS(I,B,10001110), %UMCBYTESTOSTRRUS(R,K,10001110) и
%UMCBYTESTOSTRRUS(D,M,10001110) дадут, соответственно, десять миллионов
одна тысяча сто десять байт девяти тысяч семиста шестидесяти шести
килобайт девяти мегабайтам.
%UMCREPLACE("Text","TextToFind","TextToReplace")
- заменяет все вхождения подстроки TextToFind на TextToReplace в тексте.
TextToFind не должна содержаться в TextToReplace. Например, %UMCREPLACE("Я люблю
Васю","Васю", "Петю") даст я люблю Петю
%UMCREPLACECHAR("Text1","Char","Text2") -
ищет в тексте text1 вхождения символа char и заменяет его на строку
text2.
Например,
%UMCREPLACECHAR("vasya@pisem.net","@","<сабака>") даст в результате vasya<сабака>pisem.net
%UMCREPLACEREGEXP("Text","PatternToSearch","ReplaceWith")
- позволяет осуществлять замену в тексте,
используя регулярные выражения.
Например,
%UMCREPLACEREGEXP("%Text","U[M,m]C","Useless Macro Collection") заменит
в исходном тексте письма все вхождения строк "UMC" и "UmC" на "Useless
Macro Collection"
%UMCGREP("Text","RegExpToFind",Separator)
- позволяет находить ВСЕ вхождения регулярного выражения RegExpToFind в
строке "Text". Separator - параметр, определяющий разделитель
результатов. Может принимать следующие значения: L - новая строка
(каждое новое вхождение будет располагаться на новой строке), S -
пробел, C - запятая, N - разделитель отсутствует. По умолчанию (если
параметр опущен) - N.
%UMCCUTON("Text","Delimiter") - обрезает
текст, начиная с первого вхождения разделителя.
%UMCFILL("Text","Char",Width,"LeadIn","Leadout",BegStr,EndStr,JustifyType,"Delimiter")
- заполняет текст символами "Char" до указанной ширины строки, вставляет
в начале и конце каждой строки "LeadIn" и "LeadOut", добавляет в начало
и конец BegStr и EndStr строк, заполненных "Char", выравнивает текст по
центру (JustifyType=0), влево (1) или вправо (2), обрезает текст по
"Delimiter". Поддерживает многострочный текст. Например, %UMCFILL("%UMCCPUNAME",".",80,"[
"," ]",2,2,2) у меня даёт такой результат:
................................................................................
................................................................................
.....................................................[
AMD Athlon(tm) XP 2000+ ]
................................................................................
................................................................................
................................................................................
Первые три параметра - "Text", "Char" и Width обязательны,
остальные могут быть пропущены.
%UMCXOR("Text",mask) - кодирует текст с
помощью обратимого XOR-шифрования :)
%UMCCNT("text",ID)подсчитывает количество
букв (если ID равен L), пробелов (S), или знаков препинания (P). По
умолчанию ID полагается равным L.
Например, %UMCCNT("%Text",P) возвратит количество знаков препинания в
исходном письме.
%UMCREVERSE("Text") - возвращает строку
"задом наперёд". Поддерживает многострочный текст. %UMCREVERSE("абырвалг") даст главрыба
%UMCSTRINGS("String1",...) - преобразует
последовательность строк в список. Например,
%UMCSTRINGS("раз","два","и обчёлся") даст
раз
два
и обчёлся
%UMCPS("Text","Prefix","Suffix") - добавляет в
начало каждой строки текста префикс, а в конец - суффикс. Например, %UMCPS(%UMCGETLINKS("глючная
http://a.com/a.zip или же http://muh.ru/b.avi"),"GET ") даст
GET
http://a.com/a.zip
GET http://muh.ru/b.avi
Параметр Prefix и (или) параметр Suffix могут быть пропущены.