我正在尝试按组“%in%”和字符“@”拆分字符串。所有文档和我能找到的所有内容都表明括号是用于在 R 正则表达式中进行分组的元字符。所以代码
> strsplit('example%in%aa(bbb)aa@cdef', '[(%in%)@]', perl=TRUE)
应该给我
[[1]]
[1] "example" "aa(bbb)aa" "cdef"
也就是说,它应该单独保留 "aa(bbb)aa" 中的括号,因为匹配表达式中的括号没有被转义。但实际上它给了我
[[1]]
[1] "example" "" "" "" "aa" "bbb" "aa" "cdef"
好像括号不是元字符!这是怎么回事,我该如何解决?谢谢!
在 strsplit 中无论有无参数 perl=TRUE 都是如此。