将字符串的所有数字加小数位的最佳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则