Stata The Stata listserver
[Date Prev][Date Next][Thread Prev][Thread Next][Date index][Thread index]

Re: st: substring help

From   Heather Gold <[email protected]>
To   [email protected]
Subject   Re: st: substring help
Date   Tue, 07 Jun 2005 17:14:27 -0400

David's code worked perfectly. Indeed, it was always the last 3 characters I wanted to delete.
Thanks for all the suggestions.

At 10:49 AM 6/7/2005, you wrote:

At 10:32 AM 6/7/2005 -0400, Heather Gold wrote:
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.

Are the unwanted parts *always* the final 3 characters? If so, the solution is easy. (If not, it may be a very complicated matter, but I won't go into that.)

If you just want to trim off the final 3 characters...

gen byte len = length(cntyname)
gen cnty=substr(cntyname, 1, len-3)
drop len


You can probably squish this into one command:
gen cnty=substr(cntyname, 1, length(cntyname)-3)

David Kantor
Institute for Policy Studies
Johns Hopkins University
[email protected]

* For searches and help try:
Heather Taffet Gold, PhD
Assistant Professor
Department of Public Health
Weill Medical College of Cornell University
411 E. 69th Street
New York, New York 10021

E: [email protected]
P: (212) 746-1245
F: (212) 746-8544

* For searches and help try:

© Copyright 1996–2024 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   What's new   |   Site index