Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 拆分字符串并替换索引_R_String_Gsub - Fatal编程技术网

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"