r - 用gsub替换字符串中的两个点

标签 r

我正在尝试使用以下代码将两个点仅替换为一个:

test<-"test..1"
gsub("\\..", ".", test, fixed=TRUE)


并得到:

[1] "test..1"


我尝试了几种转义字符串的组合,包括方括号[],但均未成功。
我究竟做错了什么?

最佳答案

如果要使用fixed = TRUE,请使用(未解释的)字符.

> gsub("..", ".", test, fixed = TRUE)


否则,在正则表达式(fixed = FALSE)中,.具有特殊含义(任何字符),因此您需要在其前面加上反斜杠以表示“点字符”:

> gsub("\\.\\.", ".", test)
> gsub("\\.{2}", ".", test)

关于r - 用gsub替换字符串中的两个点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18523880/

相关文章:

r - R中树状图中的着色分支

r - 如何从 R keras 中的 predict_generator() 输出中检查相应的文件

r - 可以肯定地说不能使用 R 模拟非平稳序列吗

r - 如何比较两个数据帧/表并在R中提取数据?

r - 选择相关矩阵的变量

file - R命令行文件对话框?类似于 file.choose

R dplyr : join within pipe

react 性地 block 大小,有光泽

返回 R 中向量列表的单个值

重新访问变量 X 的无效类型(列表),其中 X 是日期类