我正在尝试使用以下代码替换仅有一个点的两个点:
test<-"test..1"
gsub("\\..", ".", test, fixed=TRUE)
得到:
[1] "test..1"
我尝试了几种转义字符串组合,包括方括号[]没有成功 我做错了什么?
答案 0 :(得分:31)
如果您要使用fixed = TRUE
,请使用(未解释的)字符.
:
> gsub("..", ".", test, fixed = TRUE)
否则,在正则表达式(fixed = FALSE
)中,.
具有特殊含义(任何字符),因此您需要在其前面添加反斜杠以表示“点字符”:
> gsub("\\.\\.", ".", test)
> gsub("\\.{2}", ".", test)