Как добавить ноль к одной цифре в строке

Мне нужно добавлять ноль в моей строке ниже всякий раз, когда я получаю дату с одной цифрой без изменения количества цифр (ниже строка - система, сгенерированная в моем приложении, не созданная пользователем),

Количество добавленных данных:1 9 декабря 2015, изменено 7 июня 2016

Мне нужно изменить эту строку, как показано ниже,

Количество добавленных данных:125 9 декабря 2015, изменено 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 ответ

Решение

Если вы немного отрегулируете шаблон и установите 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).

Другие вопросы по тегам