如何在字符串中将零添加到单个数字

时间:2016-06-22 08:47:10

标签: vbscript qtp hp-uft

每当我得到单个数字的日期而不改变数字数字时,我需要在我的下面的字符串中追加零(以下字符串是我的应用程序中生成的系统不是由用户创建的),

  

数据添加数量:1月12日 9 2015修改于6月 7

我需要更改此字符串,如下所示,

  

数据添加数量:12月 09 2015年12月 07 2016修改

到目前为止,我已经尝试了以下正则表达式,但未获得所需的输出。

str = "Data Added Quantity:1 on Dec 9 2015 modified on Jun 7 2016"
Set oReg = New RegExp
oReg.Pattern = "\s\d{1}\s"
Set obj = oReg.Execute(str)
For i = 0 To obj.Count-1
  mD = obj.Item(i).Value
  oReg.Replace(str, "0" & mD)
Next

我们如何使用VBScript实现这一目标?

1 个答案:

答案 0 :(得分:4)

如果您稍微调整模式并将Global选项设置为True,则只需使用Replace方法即可。无需Excecute和循环。

Set re = New RegExp
re.Pattern = "\s(\d)\s"
re.Global  = True

str = re.Replace(str, " 0$1 ")
没有修饰符的

\d已经恰好匹配一个数字,因此\d{1}是多余的。 \d周围的括号定义了一个捕获组,允许您在替换中使用匹配的子字符串($1)。