R中出现“dry0”时如何在文本字符串中添加“swab”

ryevplcw  于 2023-09-27  发布在  其他
关注(0)|答案(2)|浏览(105)

我有一个列有拭子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))
2w3kk1z5

2w3kk1z51#

你可以在stringr中使用str_detectstr_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 :
拭子ID
1干燥wab00001
2干燥wab00002

eivnm1vs

eivnm1vs2#

sub与捕获组一起使用

sub("(^dry)(\\d+.*)", "\\1swab\\2", data$swab_id)
[1] "dryswab00001" "dryswab00002"

相关问题