今天,我正在帮助某人从pdf文件中正则表达式中获取一些信息,我们将其作为txt文件读取。不幸的是,尽管通过一些修改,tm包的readPDF函数当时无法正常工作,但是我们能够使其正常运行。当我们从.txt文件中重新表达一些绒毛时,我们发现了一些令我们大多数人惊讶的东西,即字符串“ \ 040”被解释为空格“”。

> x <- "\040"
> x
> [1] " "


对于其他可能会发生这种情况的类似字符串(例如“ \ n”或“ \ t”),不会发生这种情况。

> y <- "\n"
> y
> [1] "\n"
> z <- "\t"
> z
>[1] "\t"


为什么是这样? R中还有哪些其他字符串的解释不同?

编辑:

经过简单的实验,似乎x都是数字的任何“ \ xxx”都会产生不同的结果。这有什么价值?

最佳答案

在这里看看:http://stat.ethz.ch/R-manual/R-devel/library/base/html/Quotes.html

反斜杠用于在字符常量内部启动转义序列。转义下表中没有的字符是一个错误。
...
\ nnn字符,带有给定的八进制代码(1、2或3位数字)

然后看一下at this ASCII table以了解八进制代码是如何表示的。如您将看到040是一个空格。
只是为了好玩:

> '\110\145\154\154\157\040\127\157\162\154\144\041'
[1] "Hello World!"

07-24 09:52
查看更多