VB 求一个正则表达式:
求一个正则表达式:
如类似下面的字符串,
M100G200Z39 X39.8Y-265
将X Y Z后面的数,在这些数后面加上小数点(如果没有小数点情况下)。结果如下:
M100G200Z39. X39.8Y-265. --------------------编程问答-------------------- 首先假设:
1、如果有小数点,小数点都是1位的,
2、字符串里的xyz只有一个
不然可能麻烦很多
思路:用Instr查找出x位置,然后用mid判断x前两位的是否为".",不是的话就加一个小数点,方法:用lef+Mid+len,剩下的思路一样....
--------------------编程问答-------------------- --------------------编程问答-------------------- 上面的有点问题,修正如下:
Private Sub TestReg()--------------------编程问答--------------------
Dim strData As String
Dim reg As Object
strData = "M100G200Z39 X39.8Y-265"
Set reg = CreateObject("vbscript.regExp")
reg.Global = True
reg.IgnoreCase = True
reg.MultiLine = True
reg.Pattern = "([XYZ][\d\.\-]+)"
strData=reg.Replace(strData, "$1.")'第一次替换
Debug.Print strData
reg.Pattern = "\.([XYZ])"
strData=reg.Replace(strData, "$1")
Debug.Print strData'第二次替换
End Sub
sysdzw,谢谢!我应该结贴子了。
如果可能的话,最好能够做到如下:(X Y Z后面可能是表达式)
M100G200Z39 X=39.8-45Y=-265+80
转化为:
M100G200Z39. X=39.8-45.Y-265.+80. --------------------编程问答--------------------
上面结果应该是:(少一个=)
M100G200Z39. X=39.8-45.Y=-265.+80.
补充:VB , 基础类