Пример
G76 I0.4779 J270 K7 C90
X20 Y30
Если число начинается с I J K C X Y и не имеет десятичной дроби, добавьте десятичную. Приведенный выше пример должен выглядеть так:
G76 I0.4779 J270 K7. C90.
X20. Y30.
Цель этого кода - преобразовать код ЧПУ для более старого контроллера Fanuc OPC
<code>Set RegEx = New RegExp RegEx.Global = True RegEx.Pattern = "([IJKCXY]\d+)([^\.]|$)" newVar = RegEx.Replace (oldString, "$1.$2")
Где oldString - исходная строка, а newVar - строка с добавленными десятичными знаками.
тлоах все равно ответ не работает
Уэйнс работает, но также ставит. после каждого вхождения IJKCXY
Я изменил, если instr (Match.value, ".") = 0, тогда
Похоже, если instr (Match.value, ".") = 0 и len (Match.value)> 1, то
function convert(str) Set RegEx = New RegExp RegEx.Global = True RegEx.Pattern = "([IJKCXY]\d*\.?\d*)" Set Matches = regEx.Execute(str) For Each Match in Matches if instr(Match.value, ".") = 0 then str = Replace(str, Match.value, Match.value & ".") end if Next convert = str end function