--- Tobias Gramlich <[email protected]> wrote:
> i try to match (actually replace) one ore more single double quotes
> (") nested within a string variable (as this is typical for example
> some company names, e.g. "Hotel "ABC"");
>
> Since there is no escape character for "normal" characters but for
> example the regular expression anchors ^ or $ i can't do (as this is
>
> the case e.g. for the script language AWK):
>
> .generate x=regexr(company,""","") or
> .generate x=regexr(company,"\"","")
>
> which both give the error
> .too few quotes
> .r(132);
>
> The same is (of course) true for using the string function subinstr:
>
> .generate x=subinstr(company,""","",.)
> too few quotes
> r(132);
>
> To be clear: suppose one company name in the variable company is
> "Hotel "ABC"", so i want to replace the double quotes within the
> string to get "Hotel ABC" (or say Hotel ABC without any quotes)
>
> Is there a way of escaping the quotes so i can match them using the
> regular expression implementation or is there another way of
> replacing
> them using the string functions?
What might help to solve part of the problem are compound quotes, see:
-help quotes-
*------------ begin example ----------------
drop _all
set obs 1
gen company = `""Hotel "ABC"""'
di company
generate x=subinstr(company,`"""',"",.)
di x
*------------- end example -----------------
(For more on how to use examples I sent to the Statalist, see
http://home.fsw.vu.nl/m.buis/stata/exampleFAQ.html )
Hope this helps,
Maarten
-----------------------------------------
Maarten L. Buis
Department of Social Research Methodology
Vrije Universiteit Amsterdam
Boelelaan 1081
1081 HV Amsterdam
The Netherlands
visiting address:
Buitenveldertselaan 3 (Metropolitan), room N515
+31 20 5986715
http://home.fsw.vu.nl/m.buis/
-----------------------------------------
*
* For searches and help try:
* http://www.stata.com/help.cgi?search
* http://www.stata.com/support/statalist/faq
* http://www.ats.ucla.edu/stat/stata/