如何使用R向数据添加/删除前缀字符串?

时间:2019-02-08 02:46:07

标签: r id

我有一列issueID

Tt有一些值

101, 102, 103, IS-104, IS-105, IS-106,

如何使用R代码删除IS-104,IS-105,IS106之前的所有“ IS-”;还是找到一种在101、102、103前面添加“ IS-”的方法?

1 个答案:

答案 0 :(得分:2)

使用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)