我有一个像这样的字符向量:
questions <- c("question1" "question10" "question11" "question12"
"question13" "question14" "question15" "question16" "question17",
"question18" "question2" "question3" "question4" "question5" "question6"
"question7" "question8" "question9")
我想在“问题”和一位数字之间插入一个0,以便字符向量看起来像:
questions <- c("question01" "question10" "question11" "question12"
"question13" "question14" "question15" "question16" "question17",
"question18" "question02" "question03" "question04" "question05"
"question06" "question07" "question08" "question09")
请注意,与两位数字关联的字符串“问题”(即"question10"
或"question18
不受影响)。
我是模式匹配的新手。我尝试了以下代码:
gsub(pattern = "(\\D*)(\\d{1})", replacement = "0\\1", x = mydf6$Question, perl = TRUE)
但是,它没有给出期望的结果。
任何帮助将不胜感激。
答案 0 :(得分:1)
尝试
gsub("(?<=[a-z])(\\d)$", "0\\1", mydf6$Question, perl = T)
此后缀为零,但前提是字符串以一位数字结尾,并以小写字母开头。