如何在R字符串中转义反斜杠

如何在R字符串中转义反斜杠

我使用R将字符串写入文件:

> x1="\\str"> x2="\\\str"Error: '\s' is an unrecognized escape in character string starting "\\\s"> x2="\\\\str"> write(file='test',c(x1,x2))

当我打开名为test,我看到这个:

\str
\\str

如果我想要一个包含5个反斜杠的字符串,我应该写10个反斜杠,像这样吗?

x="\\\\\\\\\\str"


慕姐4208626
浏览 3264回答 3
3回答

慕尼黑的夜晚无繁华

[...] 如果我想得到包含5的字符串\,我应该写10\ [...]是的,你应该。写一个单曲\在字符串中,您将它写为"\\".这是因为\是一个特殊的字符,保留给逃逸跟随它的角色。(也许你认识到\n(作为换行符)如果您想要编写包含单个"..你把它写成"\"".为什么\\\str是无效的,因为它被解释为\\(对应于单个\)紧随其后\s,这是无效的,因为“转义”s“没有任何意义。

慕尼黑8549860

读一读本节关于字符向量。本质上,它表示当您输入字符串文字时,将它们括在一对引号(“或”)中。在这些引号中,您可以使用\作为转义字符创建特殊字符。例如,\n表示新行或\“可以用来输入”,而不是R认为它是字符串的结尾。因为\是转义字符,所以需要一种输入实际字符的方法。这是通过使用\完成的。逃离逃逸!

暮色呼如

请注意,反斜杠的加倍是因为您在命令行输入字符串,并且该字符串首先由R解析器解析。您可以不同的方式输入字符串,其中有些不需要加倍。例如:> tmp <- scan(what='')1: \\\\\str2:&nbsp;Read 1 item> print(tmp)[1] "\\\\\\\\\\str"> cat(tmp, '\n')\\\\\str&nbsp;>&nbsp;
打开App,查看更多内容
随时随地看视频慕课网APP