Statalist


[Date Prev][Date Next][Thread Prev][Thread Next][Date index][Thread index]

Re: st: Rename


From   Ronnie Babigumira <[email protected]>
To   [email protected]
Subject   Re: st: Rename
Date   Fri, 08 Aug 2008 07:36:44 +0700

Thanks Nick. I have kept putting off my plunge into the world of regular expressions, this is a welcome incentive to do so.

Ronnie

Nick Cox wrote:
Eva's solution is fine. I too am a great fan of using -strpos()-,
-substr()- and -subinstr()- for basic string manipulation.
I thought nevertheless it would be of interest to look at a regex
solution -- partly because Ronnie may one day soon have a problem that
does not quite fit his original specification.
foreach x of var r* { if regexm("`x'", "(r[0-9]+)(k[0-9]+)") { rename `x' `=regexs(2)'`=regexs(1)' }
}
That flips all varnames of the form r<digits>k<digits> to
k<digits>r<digits>.
Nick
[email protected]

Eva Poen

here is one way to do it.

foreach x of varlist r1* {
local end = substr("`x'",-2,.)
local start = subinstr("`x'","`end'","",1)
rename `x' `end'`start'
}

Ronnie Babigumira

How do I rename some variables by switching letters around.

As an example, I would like to rename r1k4 r12k4 to k4r1 and k4r12, so
take
the last two characters and put them at the beginning and put whatever
is
left at the end.

*
*   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/

*
*   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/



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