Строки в R - вставьте желаемую / произвольную цифру между строкой и цифрой - PullRequest
0 голосов
/ 21 октября 2018

У меня есть символьный вектор, который выглядит следующим образом:

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)

Однако, он не дает желаемого результата.

Любая помощь будет оценена.

1 Ответ

0 голосов
/ 21 октября 2018

Попробуйте

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

Это значение под нулем, но только если строка заканчивается одной цифрой, перед которой стоит строчная буква.

...