我正在尝试使用以下代码将两个点仅替换为一个:
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/