将字符串的所有数字加小数位的最佳vbscript代码是什么?

时间:2020-03-06 15:04:54  来源:igfitidea点击:

例子

G76 I0.4779 J270 K7 C90

X20 Y30

如果数字以I J K C X Y开头且没有小数,请加上小数。
上面的示例应如下所示:

G76 I0.4779 J270 K7. C90。

X20。 30岁

该代码的目的是将CNC代码转换为较旧的Fanuc OPC控制器

解决方案

Set RegEx = New RegExp
RegEx.Global = True
RegEx.Pattern = "([IJKCXY]\d+)([^\.]|$)"
newVar = RegEx.Replace (oldString, ".")

其中oldString是原始字符串,newVar是添加了小数的字符串。

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

蟑螂仍然回答不起作用

韦恩斯工作但也提出了建议。每次发生IJKCXY之后

我更改了instr(Match.value,"。")= 0然后

就像如果instr(Match.value,"。")= 0且len(Match.value)> 1则