sta*_*kam 5 string r string-interpolation
我今天正在帮助某人正式使用我们作为txt文件读取的pdf文件中的一些信息.不幸的是,当时tm包readPDF函数无法正常工作,但通过一些修改我们能够让它工作得很好.当我们从.txt文件中重新出现一些漏洞时,我们发现了一些令我们大多数人感到惊讶的东西,即字符串"\ 040"被解释为空格"".
> x <- "\040"
> x
> [1] " "
Run Code Online (Sandbox Code Playgroud)
对于您可能期望发生这种情况的其他相似字符串(即"\n"或"\ t"),不会发生这种情况.
> y <- "\n"
> y
> [1] "\n"
> z <- "\t"
> z
>[1] "\t"
Run Code Online (Sandbox Code Playgroud)
为什么是这样?在R中,哪些其他字符串的解释方式不同?
编辑:
在简单的实验之后,任何"\ xxx"(其中x是数字)都会产生不同的结果.这有什么价值?
看看这里:http://stat.ethz.ch/R-manual/R-devel/library/base/html/Quotes.html
反斜杠用于在字符常量内启动转义序列.转义不在下表中的字符是错误的.
...
\nnn具有给定八进制代码的字符(1,2或3位数)
然后看看这个ASCII表,看看如何表示八进制代码.正如您将看到040是一个空间.
而且只是为了好玩:
> '\110\145\154\154\157\040\127\157\162\154\144\041'
[1] "Hello World!"
Run Code Online (Sandbox Code Playgroud)