【发布时间】:2011-06-09 11:52:48
【问题描述】:
我正在使用 RMySQL 向 SQL 数据库编写一些 html 代码(但我想我的问题是一个通用的 R 问题,而不是与 SQL 或 RMySQL 真正相关的问题)。所以我正在尝试这样的事情:
con <- RMySQL(...) # some connection
html <- "<div style='text-align: center; font-family: Arial;'><span style='font-size: 14pt;'>Some text without any tricky symbols.</span></div>"
query <- c('INSERT INTO table (htmlfield) VALUES (\"', html, '"')
dbSendQuery(con,paste(query, collapse = ""))
麻烦的是,R的粘贴会将单引号中的双引号(即'"')替换为转义序列\",即:
> paste(query, collapse = "")
[1] "INSERT INTO table (htmlfield) VALUES (\"<div style='text-align: center; font-family: Arial;'><span style='font-size: 14pt;'>Some text without any tricky symbols.</span></div>\""
如果我将向量查询中的单引号更改为双引号,并将 html 中的单引号更改为双引号,则问题出在字符串 html 的一侧,此后 html 中的双引号被替换为转义序列。
处理转义字符替换的最简单方法是什么?
我尝试了gsub('\\\"','"',html),它没有按预期工作,而Ignore escape characters (backslashes) in R strings 帖子中建议的解决方案却无法正常工作。
感谢您的关注,菲利普
【问题讨论】:
标签: sql mysql regex r escaping