6

使用 R,当我们将双引号放在双引号内时:

y <- " " " "

它会结束

错误:“y <-”“”“”中出现意外的字符串常量

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

例如:

y <- "I'm watching "Prometheus"." 
y

期望的结果是

#[1] "I'm watching Prometheus."

或者

#[1] "I'm watching 'Prometheus'."
4

3 回答 3

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\"\""

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

于 2012-06-20T10:34:33.990 回答
4

我可能不明白,但

gsub("\"","","I'm watching \"Prometheus\".") 

或者

gsub("\"","'","I'm watching \"Prometheus\".") 

?

于 2012-06-20T10:21:46.923 回答
1
y <-  "I\'m watching 'Prometheus'."

[1] "I'm watching 'Prometheus'."

y <-  "I\'m watching Prometheus."

[1] "I'm watching Prometheus."
于 2012-06-20T13:48:43.797 回答