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

Re: st: Rename

From   Ronnie Babigumira <>
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.


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

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
the last two characters and put them at the beginning and put whatever
left at the end.

*   For searches and help try:

*   For searches and help try:

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