如何从R?
中的以下字符串中删除引号test = "\"LAST4\""
noquote(test)
[1] "LAST4"
我手动读取数据,但我无法删除引号和反斜杠。
答案 0 :(得分:9)
如果不使用正则表达式,则无需转义任何内容:
gsub('\"', "", test, fixed = TRUE)
#[1] "LAST4"
答案 1 :(得分:0)
尝试:
gsub("\\\"","",test)
#[1] "LAST4"
AMEND :
@Roland的解决方案提高了可读性和性能:
require(rbenchmark)
test = "\"LAST4\""
a <- function() gsub("\\\"","",test)
b <- function() gsub('\"', "", test, fixed = TRUE)
benchmark(a(), b(), replications=10^7)
# test replications elapsed relative user.self sys.self user.child sys.child
#1 a() 10000000 87.216 1.801 87.914 0 0 0
#2 b() 10000000 48.430 1.000 46.989 0 0 0
答案 2 :(得分:0)
解决方案:&#34; R-gsub取代反斜杠&#34;为我工作。
示例:
library(stringr)
df$variable <- str_replace(df$variable,"\\\\\\\","")
df$variable before: "xyz\"
df$variable after:"xyz"