R 中的字符串 - 在字符串和数字之间插入 desired/arbitrary 数字

Strings in R - Insert a desired/arbitrary digit between a string and digit

我有一个如下所示的字符向量:

questions <- c("question1"  "question10" "question11" "question12" 
"question13" "question14" "question15" "question16" "question17", 
"question18" "question2"  "question3"  "question4"  "question5"  "question6"  
"question7"  "question8"  "question9")

我想在 "question" 和单个数字之间插入一个 0,以便字符向量看起来像:

 questions <- c("question01"  "question10" "question11" "question12" 
 "question13" "question14" "question15" "question16" "question17", 
 "question18" "question02"  "question03"  "question04"  "question05"  
 "question06"  "question07"  "question08"  "question09")

请注意,与两位数相关联的字符串 "question",即 "question10""question18 不受影响。

我是模式匹配的新手。我尝试了以下代码:

gsub(pattern = "(\D*)(\d{1})", replacement = "0\1", x = mydf6$Question, perl = TRUE)

但是,它没有给出预期的结果。

如有任何帮助,我们将不胜感激。

尝试

gsub("(?<=[a-z])(\d)$", "0\1", mydf6$Question, perl = T)

这个替换为零,但前提是字符串以单个数字结尾,前面是小写字母。