Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.
From | Scott Talkington <talkings@gmu.edu> |
To | statalist@hsphsun2.harvard.edu |
Subject | st: String function headache. |
Date | Sun, 24 Apr 2011 23:45:28 -0400 |
So my do file: forvalues x=1/6 { foreach y in # { replace mynumber `x'= strmatch(mistring`x', "`y'") } }I just listed one character in the y list above, but in reality I'm not having a problem with normal strings like "APT" but with wildcards and with the number sign character itself.
I assumed that placing a "?" character iyn the search string (s2) would match zero or one characters + the "#" but it seems to be matching all strings with one character that are either a number or a letter. Huh?
If I include the wildcard (either the asterisk or the question mark) *anywhere* (either in the "foreach" part of the do file or in the "replace" command) it just doesn't work the way I expect it to. There's a difference between what I get depending on how many quotes I use and where as well, but I'm just not getting anything that does what I want it to. I've even tried using the backslash character to indicate that I don't want the "#" to be read as an operator, but I'm not even sure where to put the backslash or how to arrange the quotation marks. It's driving me nuts. There's some rule here that I'm just not getting.
--Scott * * 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/