str_regex_replace
Заменить фрагмент текста по шаблону regex (регулярные выражения).
Вызов:
string sResult = str_regex_replace(string sCodedValue, string sOriginalValue, string sReplaceFragment);
Здесь:
sCodedValue - шаблон для поиска в формате регулярных выражений (regex, типа "abc[12]"),
sOriginalValue - исходный текст, где требуется заменить фрагменты, удовлетворяющие шаблону,
sReplaceFragment - фрагмент, на который надо заменить все эти фрагменты.
В sResult - результат операции.
Если фрагменты, удовлетворяющие шаблону не найдены, то возвращается строка sOriginalValue без изменения.
Пример.
Заменить в тексте "123 abc 456" часть 12 и 6 на символ #.
string sres = str_regex_replace("(?:12)|(?:[6])", "123 abc 456", string "#");
coutvar << sres;
Результат:
sres = "#3 abc 45#"
Пример.
Выделить из значения заданного пользовательского свойства элемента число слева в конструкции "10001m" или "2200k" при условии, что буква может быть любая.
ac_request_special("get_element_value", "UP", "Технические переменные для отверстий для LabPP\\Маркировка отверстия");
svalue = ac_getstrvalue();
svalue = str_regex_replace("[a-z]", svalue, "#");
svalue = strleft(svalue, "#");
coutvar << svalue;
Результат:
10001 2200 и т.п. в зависимости от значения свойства.