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

时间:2013-08-30 02:13:47

标签: r

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

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

得到:

[1] "test..1"

我尝试了几种转义字符串组合,包括方括号[]没有成功 我做错了什么?

1 个答案:

答案 0 :(得分:31)

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

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

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

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