Comment supprimer les guillemets de la chaîne suivante dans R? Je lis les données manuellement et je ne peux pas supprimer les citations et les contre-obliques.Supprimer la barre oblique inverse et les citations dans R
-2
A
Répondre
6
Vous n'avez pas besoin d'échapper à quoi que ce soit si vous ne ne pas utiliser une regex:
gsub('\"', "", test, fixed = TRUE)
#[1] "LAST4"
0
Essayez:
gsub("\\\"","",test)
#[1] "LAST4"
AMENDER:
solution de @Roland améliore la lisibilité et la performance:
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
0
La solution dans: "R - gsub remplaçant les backslashes" a fonctionné pour moi.
Exemple:
library(stringr)
df$variable <- str_replace(df$variable,"\\\\\\\","")
df$variable before: "xyz\"
df$variable after:"xyz"
Que voulez-vous dire « Je lis les données manuellement »? Il serait préférable de régler le problème au moment de l'importation plutôt que plus tard. – MrFlick