为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕姐4208626 2019-07-11 10:37:15
如何在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"
查看完整描述

3 回答

?
慕尼黑的夜晚无繁华

TA贡献1864条经验 获得超6个赞

[...] 如果我想得到包含5的字符串\,我应该写10\ [...]

是的,你应该。写一个单曲\在字符串中,您将它写为"\\".

这是因为\是一个特殊的字符,保留给逃逸跟随它的角色。(也许你认识到\n(作为换行符)如果您想要编写包含单个"..你把它写成"\"".

为什么\\\str是无效的,因为它被解释为\\(对应于单个\)紧随其后\s,这是无效的,因为“转义”s“没有任何意义。


查看完整回答
反对 回复 2019-07-11
?
慕尼黑8549860

TA贡献1818条经验 获得超11个赞

读一读本节关于字符向量。

本质上,它表示当您输入字符串文字时,将它们括在一对引号(“或”)中。在这些引号中,您可以使用\作为转义字符创建特殊字符。

例如,\n表示新行或\“可以用来输入”,而不是R认为它是字符串的结尾。因为\是转义字符,所以需要一种输入实际字符的方法。这是通过使用\完成的。逃离逃逸!


查看完整回答
反对 回复 2019-07-11
?
暮色呼如

TA贡献1853条经验 获得超9个赞

请注意,反斜杠的加倍是因为您在命令行输入字符串,并且该字符串首先由R解析器解析。您可以不同的方式输入字符串,其中有些不需要加倍。例如:


> tmp <- scan(what='')

1: \\\\\str

2: 

Read 1 item

> print(tmp)

[1] "\\\\\\\\\\str"

> cat(tmp, '\n')

\\\\\str 


查看完整回答
反对 回复 2019-07-11
  • 3 回答
  • 0 关注
  • 3263 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信