我有一个列有拭子ID的柱子。正常的ID命名法是“dryswab 00001”。然而,有一些样品为“dry 00135”。如何str_detect这些ID并在前导零/数字之前插入“swab”?
data <- structure(list(swab_id = c("dryswab00001", "dry00002")), class = "data.frame", row.names = c(NA, -2L))
2w3kk1z51#
你可以在stringr中使用str_detect和str_replace来实现:
str_detect
str_replace
install.packages("stringr") library("stringr") # Use str_detect to identify IDs that need modification update <- str_detect(data$swab_id, "^dry\\d+") # Modify the IDs data$swab_id[update] <- str_replace(data$swab_id[update], "^dry", "dryswab")
最终 Dataframe :拭子ID1干燥wab000012干燥wab00002
eivnm1vs2#
将sub与捕获组一起使用
sub
sub("(^dry)(\\d+.*)", "\\1swab\\2", data$swab_id) [1] "dryswab00001" "dryswab00002"
2条答案
按热度按时间2w3kk1z51#
你可以在stringr中使用
str_detect
和str_replace
来实现:最终 Dataframe :
拭子ID
1干燥wab00001
2干燥wab00002
eivnm1vs2#
将
sub
与捕获组一起使用