Заменить фрагмент текста по шаблону 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 и т.п. в зависимости от значения свойства.