R +使用regex + gsub将整数转换为hh:mm格式

Hat*_*kNZ 3 regex r

interval是25小时内5分钟间隔的子集

> interval
 [1]   45   50   55  100  105  110  115  120  125  130  135 2035 2040 2045 2050 2055 2100 2105 2110 2115 2120 2125
Run Code Online (Sandbox Code Playgroud)

我想插入:一个时间fomat,我可以转换为时间格式

> gsub('^([0-9]{1,2})([0-9]{2})$', '\\1:\\2', interval)
 [1] "45"    "50"    "55"    "1:00"  "1:05"  "1:10"  "1:15"  "1:20"  "1:25"  "1:30"  "1:35"  "20:35" "20:40" "20:45"
[15] "20:50" "20:55" "21:00" "21:05" "21:10" "21:15" "21:20" "21:25"
Run Code Online (Sandbox Code Playgroud)

几乎所有我的例子都让我工作了.
我如何得到它以使其适用于数字"5"......"45" "50" "55"

在这里发现了这个副本,但这不使用gsub

nog*_*pes 5

一个简单的方法是确保所有输入至少有4个字符:

gsub('^([0-9]{1,2})([0-9]{2})$', '\\1:\\2', sprintf('%04d',interval))
# "00:45" "00:50" "00:55" "01:00" "01:05" "01:10" "01:15" "01:20" "01:25"
# "01:30" "01:35" "20:35" "20:40" "20:45" "20:50" "20:55" "21:00" "21:05"
# "21:10" "21:15" "21:20" "21:25"
Run Code Online (Sandbox Code Playgroud)