繁体   English   中英

用R中的gsub()替换“。”和空格?

[英]replace “.” with space using gsub() in R?

我有如下数据,我想替换“。” 空间使用gsub()但我无法得到正确的输出。

data<-c("12.57869486" ,"12.57869582" ,"12.57870155")

a<- gsub("."," ", data)
a
[1] "           " "           " "           "

许多方法来实现这一目标:

1)使用gsub的fixed参数:

来自?gsub

固定逻辑。 如果为TRUE,则pattern是要按原样匹配的字符串。 覆盖所有冲突的参数。

因此,在命令中添加fixed=TRUE足以避免解释。 作为任何字符(正则表达式模式):

> a<-gsub(".", " ", data, fixed=TRUE)
> a
[1] "12 57869486" "12 57869582" "12 57870155"

2)使用chartr (来自G. Grothendieck评论):

chartr(".", " ", data)

3)逃避特殊字符. 这意味着正则表达式中的任何角色:(来自Tim Biegeleisen评论)

  • gsub("\\\\.", " ", data)以双反斜杠转义
  • gsub("[.]", " ", data)使用字符类逃生

在长正则表达式中,我倾向于选择第二种语法,因为我发现它更具可读性。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM