Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: st: RE: Dropping parts of strings (i.e. Baldwin County becomes Baldwin)
From
"Radwin, David" <[email protected]>
To
<[email protected]>
Subject
RE: st: RE: Dropping parts of strings (i.e. Baldwin County becomes Baldwin)
Date
Thu, 6 Mar 2014 13:40:35 -0500
Cody,
Would something simpler like this work? Note the compound quotation marks.
foreach x in `"County"' `"Borough"' `"Township"' `"Census Area"' {
replace county = trim(subinstr(county, "`x'", "", .))
}
David
--
David Radwin, Senior Research Associate
Education and Workforce Development
RTI International
2150 Shattuck Ave. Suite 800, Berkeley, CA 94704
Phone: 510-665-8274
www.rti.org/education
> -----Original Message-----
> From: [email protected] [mailto:owner-
> [email protected]] On Behalf Of Andrew Maurer
> Sent: Thursday, March 06, 2014 10:31 AM
> To: [email protected]
> Subject: RE: st: RE: Dropping parts of strings (i.e. Baldwin County
> becomes Baldwin)
>
> No, that's why I gave united_kingdom as an example. It:
> - removes everything including and after the first + sign observed
> - replaces all remaining underscores with spaces
> - trims the leading and trailing spaces
>
> "__united_kingdom__+___county" becomes "united kingdom"
>
> There would be problems if you had a country with a + sign in the name,
> but I don't expect you'll have that scenario.
>
> Andrew Maurer
>
> -----Original Message-----
> From: [email protected] [mailto:owner-
> [email protected]] On Behalf Of Cody Cook
> Sent: Thursday, March 06, 2014 12:24 PM
> To: [email protected]
> Subject: Re: st: RE: Dropping parts of strings (i.e. Baldwin County
> becomes Baldwin)
>
> Hi Andrew,
>
> Thanks for the response! I think this route is promising, but (just by
> looking at the code, I haven't run it) it looks like it may have trouble
> with counties that have two words in their name, or no? Is there a way to
> account for this?
>
> Best,
> Cody
>
>
>
> On Mar 6, 2014, at 11:13 AM, Andrew Maurer <[email protected]> wrote:
>
> > Maybe not the most efficient way, but this works (replaces internal
> underscores with spaces):
> >
> > local name __united_kingdom__+___county
> > di trim(subinstr(substr(`"`name'"',1,strpos(`"`name'"',"+")-1),"_","
> ",.))
> >
> > or for if your variable is named "oldname":
> > gen newname = trim(subinstr(substr(oldname,1,strpos(oldname,"+")-
> 1),"_"," ",.))
> >
> > (if you want internal underscores then gen newname2 = subinstr(newname,"
> ","_",.)
> >
> > Andrew Maurer
> >
> > -----Original Message-----
> > From: [email protected] [mailto:owner-
> [email protected]] On Behalf Of Cody Cook
> > Sent: Thursday, March 06, 2014 11:02 AM
> > To: [email protected]
> > Subject: st: Dropping parts of strings (i.e. Baldwin County becomes
> Baldwin)
> >
> > Hi Stata Helpers,
> >
> > I have a ton of census data that I'm trying to merge with some other
> data. The other data only has county names, not FIPS.
> >
> > For the census data, it is formatted as __name___ + ___ census type ___
> where census type is either "County", "Borough", "Census Area" and maybe a
> few more. This is all in one string. I want to only keep the part that
> identifies the specific county.
> >
> > Basically, is there a way to say "if county includes "XXXX" replace
> without "XXXX""
> >
> > Best,
> >
> > Cody
*
* For searches and help try:
* http://www.stata.com/help.cgi?search
* http://www.stata.com/support/faqs/resources/statalist-faq/
* http://www.ats.ucla.edu/stat/stata/