Dav*_*uer 10 string r escaping
逃生字符在R中造成很多麻烦,前面的问题证明了这一点:
以前的许多问题都可以简化为"我怎样才能得到我的方式?"的特殊情况.
有一个简单的方法吗?
例如,我找不到任何参数gsub将删除以下所有转义:
test <- c('\01', '\\001')
Run Code Online (Sandbox Code Playgroud)
这里的困难在于"\1",虽然它印有两个字形,但实际上,在R视图中是单个字符.事实上,它"\001"和"\01"以下人物完全相同:
nchar("\1")
# [1] 1
nchar("\001")
# [1] 1
identical("\1", "\001")
# [1] TRUE
Run Code Online (Sandbox Code Playgroud)
因此,您通常可以使用以下内容删除所有反斜杠:
(test <- c("\\hi\\", "\n", "\t", "\\1", "\1", "\01", "\001"))
# [1] "\\hi\\" "\n" "\t" "\\1" "\001" "\001" "\001"
eval(parse(text=gsub("\\", "", deparse(test), fixed=TRUE)))
# [1] "hi" "n" "t" "1" "001" "001" "001"
Run Code Online (Sandbox Code Playgroud)
但是,正如你所看到的,"\1","\01",和\001"都将呈现为001,(因为与R他们是所有只是叫法不同"\001").
编辑:有关"\"转义序列的使用以及可以用它们表示的各种各样的字符的更多信息(包括Joshua Ulrich在上面的评论中提到的不允许的字符串),请参阅R语言定义的这一部分.
| 归档时间: |
|
| 查看次数: |
6971 次 |
| 最近记录: |