gsub问题和str_替换_全部在R中
我需要将以下格式的38种不同类型的表达式替换为正则表达式,如gsub问题和str_替换_全部在R中,r,R,我需要将以下格式的38种不同类型的表达式替换为正则表达式,如“IDENTIFIER:ABC:DEF”、“IDENTIFIER:GHI:JKL”,如“apple”和“banana”。我尝试使用str_replace_all,格式如下: df$column <- df$column %>% str_replace_all("IDENTIFIER:ABC:DEF", "apple") df$column <- df$column %>% str_replace_
“IDENTIFIER:ABC:DEF”、“IDENTIFIER:GHI:JKL”
,如“apple”
和“banana”
。我尝试使用str_replace_all,格式如下:
df$column <- df$column %>% str_replace_all("IDENTIFIER:ABC:DEF", "apple")
df$column <- df$column %>% str_replace_all("IDENTIFIER:GHI:JKL", "banana")
df$列%str\u replace\u all(“标识符:ABC:DEF”,“苹果”)
df$列%str\u replace\u all(“标识符:GHI:JKL”、“香蕉”)
然而,由于某些原因,R只处理我大约一半的请求。我已经反复检查错误,并试图分解代码,但没有成功
然后我用gsub做了同样的尝试:
df$column <- gsub(df$column, "IDENTIFIER:ABC:DEF", "apple")
df$column <- gsub(df$column, "IDENTIFIER:GHI:JKL", "banana")
同名包中的
df$columngsubfn
提供了gsub
功能的超集,特别是它可以选择使用列表代替字符串。对于正则表达式的每个匹配项,如果匹配项等于其中一个列表名,则替换为相应的列表值
library(gsubfn)
x <- "xyz IDENTIFIER:ABC:DEF abc IDENTIFIER:GHI:JKL def" # test input
L <- list("IDENTIFIER:ABC:DEF" = "apple", "IDENTIFIER:GHI:JKL" = "banana")
gsubfn("\\y\\S+\\y", L, x)
## [1] "xyz apple abc banana def"
同名包中的gsubfn
提供了gsub
功能的超集,特别是它可以选择将列表替换为字符串。对于正则表达式的每个匹配项,如果匹配项等于其中一个列表名,则替换为相应的列表值
library(gsubfn)
x <- "xyz IDENTIFIER:ABC:DEF abc IDENTIFIER:GHI:JKL def" # test input
L <- list("IDENTIFIER:ABC:DEF" = "apple", "IDENTIFIER:GHI:JKL" = "banana")
gsubfn("\\y\\S+\\y", L, x)
## [1] "xyz apple abc banana def"
gsub
需要输入模式、替换值和x。因此,在您的情况下,您应该编写gsub(“标识符:ABC:DEF”,“苹果”,df$column)
或gsub(pattern=“标识符:ABC:DEF”,replacement=“苹果”,x=df$column)
比较这两个函数的文档:它们的参数顺序不一样谢谢@dc37-这是一个错误gsub
需要使用模式输入,替换_值和x。因此,在您的情况下,您应该编写gsub(“标识符:ABC:DEF”,“apple”,df$列)
或gsub(pattern=“IDENTIFIER:ABC:DEF”,replacement=“apple”,x=df$列)
比较两个函数的文档:它们的参数顺序不一样谢谢@dc37-这是错误