Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.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
Regex R正则表达式替换:75%->;0.75_Regex_R - Fatal编程技术网

Regex R正则表达式替换:75%->;0.75

Regex R正则表达式替换:75%->;0.75,regex,r,Regex,R,当然是一个天真的问题,但我在R,我有表达 v <- "gastrula:75%" 但是我没有找到任何有效的方法。你可以试试 sub('^([^:]+):(\\d+).*', '\\10.\\2', v) #[1] "gastrula0.75" 或者可能是 library(gsubfn) gsubfn(':(\\d+)%', ~as.numeric(x)/100, v) #[1] "gastrula0.75" v1 <- c(v, 'gastrula:5%') gs

当然是一个天真的问题,但我在R,我有表达

v <- "gastrula:75%"
但是我没有找到任何有效的方法。

你可以试试

 sub('^([^:]+):(\\d+).*', '\\10.\\2', v)
 #[1] "gastrula0.75"
或者可能是

 library(gsubfn)
 gsubfn(':(\\d+)%', ~as.numeric(x)/100, v)
 #[1] "gastrula0.75"

 v1 <- c(v, 'gastrula:5%')
 gsubfn(':(\\d+)%', ~as.numeric(x)/100, v1)
 #[1] "gastrula0.75" "gastrula0.05"
库(gsubfn)
gsubfn(':(\\d+)%,~as.numeric(x)/100,v)
#[1] “原肠胚0.75”
v1
>vgsub(“^(.*)\\:(.*)%”,“\\10\\2”,v)
[1] “原肠胚0.75”

还有一种可能性:

v <- "gastrula:75%"
str <- unlist(strsplit(v,":"))
paste0(str[1], as.numeric(gsub("%","",str[2]))/100)

v关于
v@MrFlick怎么样?从他们的例子来看,我认为
原肠胚:5%
应该被原肠胚0.05%
所取代,不是吗?别在那件事上感到困惑
200%
可能应该替换为我想要的
2guess@DavidArenburg这也是我的猜测,但是,在不知道是否需要进行非常有限的转换的情况下,用纯正则表达式进行计算是不有趣的。@MrFlick:是的,原肠胚:5%应替换为原肠胚0.05,所有百分比应为
> v <- "gastrula:75%"
> gsub("^(.*)\\:(.*)%", "\\10.\\2", v)
[1] "gastrula0.75"
v <- "gastrula:75%"
str <- unlist(strsplit(v,":"))
paste0(str[1], as.numeric(gsub("%","",str[2]))/100)