替换"。"在R中使用gsub()的空格?

时间:2016-02-26 15:22:45

标签: r gsub

我有以下数据,我想替换"。"使用gsub()的空格,但我无法得到正确的输出。

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

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

1 个答案:

答案 0 :(得分:15)

实现这一目标的方法很多:

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)使用字符类逃生

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