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