vbs用replace替换非有效数字

如题,我自己写了一个字符转换的代码,以为格式需要,在结果前面会补上0来补够位数,现在得到一个结果是00050249,我想把50249前面的数字0都去掉,但不去掉50249... 如题,我自己写了一个字符转换的代码,以为格式需要,在结果前面会补上0来补够位数,现在得到一个结果是00050249,我想把50249前面的数字0都去掉,但不去掉50249里面包含的0要怎么做,其实就是replace掉字符串里面第一个非0数字前面的0(只是举个例子,前面有多少个0是不定值,后面的有效数字里包含多少个0也是不定值),可以把前面的0的个数写成a,后面所包含的0的个数写成b
求各位大侠相助!
展开
 我来答
鄙人_焉哉乎也
2013-12-29 · TA获得超过166个赞
知道小有建树答主
回答量:89
采纳率:0%
帮助的人:129万
展开全部

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 '函数体结束
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式