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

sta*_*tar 8 r gsub

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

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

a<- gsub("."," ", data)
a
[1] "           " "           " "           "
Run Code Online (Sandbox Code Playgroud)

Ten*_*bai 17

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

1)使用fixedgsub 的参数:

来自?gsub:

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

因此,添加fixed=TRUE到您的命令就足以避免解释.作为任何字符(正则表达式模式):

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

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

chartr(".", " ", data)
Run Code Online (Sandbox Code Playgroud)

3)逃避特殊字符.,表示正则表达式中的任何字符:(来自Tim Biegeleisen评论)

  • gsub("\\.", " ", data) 用双反斜杠逃脱
  • gsub("[.]", " ", data) 逃避使用字符类

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