我有如下数据,我喜欢替换“。”使用 gsub() 空间但我无法获得正确的输出。
data<-c("12.57869486" ,"12.57869582" ,"12.57870155")
a<- gsub("."," ", data)
a
[1] " " " " " "
最佳答案
实现这一目标的多种方法:
1) 使用 fixed
gsub 的参数:
来自 ?gsub
:
fixed logical. If TRUE, pattern is a string to be matched as is. Overrides all conflicting arguments.
所以添加
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)
使用字符类转义 在长正则表达式中,我倾向于使用第二种语法,因为我发现它更具可读性。
关于在 R 中使用 gsub() 将 "."替换为空格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35655485/