R 拆分字符串并替换索引
我有这样的规则R 拆分字符串并替换索引,r,string,gsub,R,String,Gsub,我有这样的规则 rule <- "X[,14]<=-0.00479499999999999 & X[,14]<=-0.00490000000000002 & X[,14]>-0.00595499999999993 & X[,14]<=-0.00593499999999991 & X[,96]>0.000395000000000034 & X[,96]<=0.000859999999999972"
rule <- "X[,14]<=-0.00479499999999999 & X[,14]<=-0.00490000000000002 & X[,14]>-0.00595499999999993 & X[,14]<=-0.00593499999999991 & X[,96]>0.000395000000000034 & X[,96]<=0.000859999999999972"
rule我们将“rule”拆分为&
,然后使用数字作为一个组将带有parse_number
的数字部分提取到split
,然后粘贴列表
元素,最后使用str_replace_all
从stringr
替换索引
library(stringr)
v1 <- strsplit(rule, "\\s*\\&\\s*")[[1]]
v2 <- trimws(sapply(split(v1, readr::parse_number(v1)), function(x)
sub("\\s*\\&\\s*$", "", paste(x, collapse=" & "))))
str_replace_all(v2, setNames(as.character(seq_along(v2)), names(v2)))
库(stringr)
v1@mr.T对不起,这是基于您的示例provided@mr.T你能更新一下你的简历吗post@mr.T在您文章中的示例中,字符串用\n
分隔。给你not@mr.T检查更新的解决方案
library(stringr)
v1 <- strsplit(rule, "\\s*\\&\\s*")[[1]]
v2 <- trimws(sapply(split(v1, readr::parse_number(v1)), function(x)
sub("\\s*\\&\\s*$", "", paste(x, collapse=" & "))))
str_replace_all(v2, setNames(as.character(seq_along(v2)), names(v2)))
#[1] "X[,1]<=-0.00479499999999999 & X[,1]<=-0.00490000000000002 & X[,1]>-0.00595499999999993 & X[,1]<=-0.00593499999999991"
#[2] "X[,2]>0.000395000000000034 & X[,2]<=0.000859999999999972"