I assume is to replace single quotes in double quoted strings with single quoted
strings containing double quotes in place of the single quotes while leaving
double quoted strings not containing single quotes as they are (i.e. leave them
as double quoted). Is that right? In that case, try this:
library(gsubfn)
squote <- "'" # single quote. This is a double quote, single
quote, double quote
dquote <- '"' # double quote This is a single quote, double
quote, single quote
s <- "[\"...\" \"...'...\"]"
f <- function(x) if (regexpr(squote, x) > 0)
chartr(paste(squote, dquote), paste(dquote, squote), x) else x
gsubfn('["][^"]*["]', f, s) # "[\"...\"
'...\"...']"
One could omit the first and last pair of [] in the last line but I put them in
for readability.
On 4/6/07, Laurent Rhelp <laurentRhelp at free.fr>
wrote:> Dear R-List,
>
> I have a great many files in a directory and I would like to
> replace in every file the character " by the character ' and in
the same
> time, I have to change ' by '' (i.e. the character ' twice
and not the
> unique character ") when the character ' is embodied in
"....."
> So, "....." becomes '.....' and
".....'......" becomes '.....''......'
> Certainly, regular expression could help me but I am not able to use it.
>
> How can I do that with R ?
>
> Thank you very much
>
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide
http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>