Didn't know about renvars.  All my variables (44) have underscores.
Nick, your "Official" solution works great.  
Thanks Nick and Jose.
Thomas
Your loop is a good idea, except
that putting the name in a new variable
is not the best way to do it. 
And there is no point in doing this 
for _all_ variables. Perhaps there 
are some other problems too. 
My official Stata solution: 
foreach v of var *_ { 
	local V : subinstr local v "_" "", all
	capture rename `v' `V' 
	if _rc di as txt "problem with `v'"
} 
User-written program: 
renvars *_, map(substr("@", 1, index("@","_") - 1))
(-renvars- was last updated in Stata Journal 5(4).) 
Bail out now if this is transparent. 
Otherwise: 
*_ catches all variable names that end with an underscore. 
-capture- traps any problem inside the loop and lets it continue. 
-renvars- won't rename any variable unless all new variable names are
OK (legal and unambiguous). 
The rule for a new name is 
substr("@", 1, index("@","_") - 1)
namely, start at the beginning and stop just before the first
underscore. 
Nick 
[email protected] 
> -----Original Message-----
> From: [email protected]
> [mailto:[email protected]]On Behalf Of 
> Thomas Speidel
> Sent: 25 January 2006 20:46
> To: [email protected]
> Subject: st: Renaming varnames
> 
> 
> I have a dataset whose variable names contain a varying amount of
> trailing underscores (_).
> Is there a way to rename all variable names without the trialing
> underscores (other than renaming each individual variable)?
> 
> ILLNESS___      byte   %10.0g                 
> SPECIMEN__      str12  %12s                   
> HOSPITAL__      byte   %10.0g                 
> TYPE______      byte   %10.0g                 
> STAGE_____      str4   %9s                    
> SIZE______      byte   %10.0g           
> ...
> 
> This is what I have tried so far (unsuccessfully):
> 
> 
> foreach v of varlist _all {
> 	gen `v'_underscore=strpos("`v'", "_")
> 	rename `v' `=substr("`v'", 1, `v'_underscore)'
> }
>
Thomas Speidel
Statistical Associate
Clinical Trials Unit
Tom Baker Cancer Centre
1331 - 29th Street N.W.
Calgary, AB, T2N 4N4
Tel. (403) 521-3370
Email: [email protected]
This e-mail and any attachments may contain confidential and
privileged information. If you are not the intended recipient,
please notify the sender immediately by return e-mail, delete this
e-mail and destroy any copies. Any dissemination or use of this
information by a person other than the intended recipient is
unauthorized and may be illegal.
*
*   For searches and help try:
*   http://www.stata.com/support/faqs/res/findit.html
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/