如何使用R删除字母

时间:2014-08-27 11:05:22

标签: regex r

我想使用R,

从一行中删除字母和符号
temp <- " 20.9°C \n              a 07" 

从Â到最后的所有内容,只获得

20.9

我使用过这个表达式,但有些事情失败了......

temp2 <- ( gsub("°C \n*?","", temp,  ignore.case = FALSE, perl = TRUE))

1 个答案:

答案 0 :(得分:1)

由于您声明您只需要字符串中的20.9以及删除后的所有内容,这样就可以了。

> temp <- ' 20.9°C \n              a 07'
> temp2 <- sub('^ (.*?)Â[^Â]+', '\\1', temp)
> temp2
## [1] "20.9"

如果你最终需要提取温度,你可以从这样的事情开始:

> library(gsubfn)
> temp <- ' -0.5°C \n \n   20.9°C      a +25.0°C'
> temp2 <- strapply(temp, '([+-]?[0-9]+\\.[0-9]+)')[[1]]
## [1] "-0.5"  "20.9"  "+25.0"

根据您的评论,如何将25/08/14转换为25-08-2014

gsub('([0-9]{2})/([0-9]{2})/([0-9]{2})', '\\1-\\2-20\\3', '25/08/14')
## [1] "25-08-2014"