[Date Prev][Date Next][Thread Prev][Thread Next][Date index][Thread index]
Re: st: substring help
Date sent: Tue, 07 Jun 2005 10:32:30 -0400
From: Heather Gold <firstname.lastname@example.org>
Subject: st: substring help
Send reply to: email@example.com
> Dear Fellow Listers -
> Someone has probably figured this out previously, but I can't seem to
> find exactly what I need in the archives or help...
> I have a string variable with county and state names merged as one
> string 15 characters long. I need to get rid of the trailing state
> name. For example, I have:
> Genesee NY
> Bronx NY
> Queens NY
> And I want to have only:
> I tried
> gen cnty=substr(cntyname, -2,2)
> But that does the "opposite" of what I want, ie, returns "NY".
> Because the county name varies in length, I can't just do a substring
> of a specific length, starting from the beginning of the variable.
> Shouldn't there be an obvious solution? I can't find it.
Something like this should achieve what you want...
gen temp = index(cntyname, " ")
gen cnty = substr(cntyname, 1, temp - 1)
You use the index() function to work out where the gap is in each of the names (see -
man strfun-). Note that a limit to this is that index() only picks up the position of the first
gap, thus if your county name has gaps in your only going to pick up the first part of the
name, not sure of the top of my head how to deal with this.
ARC Epidemiology Unit, University of Manchester
"If your result needs a statistician then you should design a better experiment" -
* For searches and help try: