Используя sub
, сопоставьте комбинацию цифр (\\d+
) at the start (
^ ) of the string, capture (
(...) `) как группу и в замену добавьте строку« IS- »перед обратной ссылкойзахваченной группы
sub("^(\\d+)", "IS-\\1", df1$issueID)
#[1] "IS-101" "IS-102" "IS-103" "IS-104" "IS-105" "IS-106"
Другой вариант - создать условие ifelse
с grepl
, а затем paste
элементами, которые не имеют «IS» в началестрока
with(df1, ifelse(grepl("^IS", issueID), issueID, paste0("ID-", issueID)))
данные
df1 <- data.frame(issueID = c("101", "102", "103", "IS-104", "IS-105",
"IS-106"), stringsAsFactors = FALSE)