关于R里面的regexpr与逃逸之间的关系

最典型的例子是:

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

posted on 2012-09-07 17:24 ewre 阅读(390) 评论(0)  编辑 收藏 引用 所属分类: R


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


导航

<2012年9月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

留言簿(2)

文章分类

文章档案

最新评论

阅读排行榜