当前位置:编程学习 > VB >>

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 ,  基础类
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,