vbs用replace替换非有效数字
如题,我自己写了一个字符转换的代码,以为格式需要,在结果前面会补上0来补够位数,现在得到一个结果是00050249,我想把50249前面的数字0都去掉,但不去掉50249...
如题,我自己写了一个字符转换的代码,以为格式需要,在结果前面会补上0来补够位数,现在得到一个结果是00050249,我想把50249前面的数字0都去掉,但不去掉50249里面包含的0要怎么做,其实就是replace掉字符串里面第一个非0数字前面的0(只是举个例子,前面有多少个0是不定值,后面的有效数字里包含多少个0也是不定值),可以把前面的0的个数写成a,后面所包含的0的个数写成b
求各位大侠相助! 展开
求各位大侠相助! 展开
展开全部
VBS有强大的正则支持,这样的数据用正则来做比较方便,下面是一个用正则做好的函数,直接调用就可以了:
WScript.Echo RP("000123012")
Function RP(strSrc)
Dim objReg
Set objReg = New RegExp
With objReg
.Global = True
.Pattern = "^(?:0+)?(.*)"
RP = .Replace(strSrc, "$1")
End With
追问
能不能解释一下每一行的意思,我看不太懂(3-10行)
追答
Function RP(strSrc) 'Function 表示这是一个函数
Dim objReg '定义一个正则变量
Set objReg = New RegExp '给正则变量赋值
With objReg '引用正则变量
.Global = True '全局匹配
.Pattern = "^(?:0+)?(.*)" '正则模式
RP = .Replace(strSrc, "$1") '替换
End With
End Function '函数体结束
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询