最典型的例子是:
strsplit(x,split="\\.")
paste(x,"csv",sep=".")
同样是以.做分割符,strsplit需要逃逸两次,而paste中则不许要逃逸,这是因为:
strsplit中split参数是一个正则表达式,paste中的sep参数则是一个字符。
至于为什么是"\\."而不是"\.",就要搞清楚:
\是R中的元字符也是regexpr的元字符,
.不是R的元字符但是regexpr的元字符,
所以,要匹配.本身,我们需要传递给regexpr解释器"\."
但是如果直接在R环境中传递,R会把\解释为逃逸符,所以要先逃逸掉R的解释就再逃逸一次:\\.