解决R中双引号内的双qoutes问题

Kai*_*hew 6 r

使用R,当我们在双引号中放入双引号时:

y <- " " " "
Run Code Online (Sandbox Code Playgroud)

它会结束

错误:"y < - """""中的意外字符串常量

我的问题是如何删除检测到的所有双引号或在主双引号内转换为单引号.

例如:

y <- "I'm watching "Prometheus"." 
y
Run Code Online (Sandbox Code Playgroud)

期望的结果是

#[1] "I'm watching Prometheus."
Run Code Online (Sandbox Code Playgroud)

要么

#[1] "I'm watching 'Prometheus'."
Run Code Online (Sandbox Code Playgroud)

Dav*_*agh 5

您是从文件或标准输入中解析字符串输入吗?

scan(what='character',sep='\n')将从中读取数据stdin()并自动转义引号.如果来自文件则相同

>scan(what="character",sep="\n",allowEscapes=T)
1: I'm watching "Prometheus"
2: 
Read 1 item
[1] "I'm watching \"Prometheus\""
>
>scan(what="character",sep="\n",allowEscapes=T)
1: "I'm watching "Prometheus""
2: 
Read 1 item
[1] "\"I'm watching \"Prometheus\"\""
Run Code Online (Sandbox Code Playgroud)

一旦你得到你的输入,你可以使用正则表达式来替换转义的内部引号......(我想! - 可能是一个复杂的reg exp)