One way to do this is
gen whatever = "HMV" if index(myvar, "HMV")
If you're fond of -cond()- you might prefer
gen whatever = cond(index(myvar, "HMV"), "HMV", "")
Neither is a retrieval solution, but the
result is the same.
Another way to do it is through retrieval:
gen whatever = substr(myvar,index(myvar, "HMV"),3)
if index(myvar, "HMV")
but I can't see any advantage to that.
Nick
[email protected]
Dev Vencappa
> I have a dataset that contains several string variables.
> Suppose one string variable contains the following values in
> one of the observations:
>
> CMLST(HMV)
>
> Another string variable contains :
>
> COMSTL GTRI(HMV)
>
> I want stata to create a new variable that retrieves only the
> three-letter word "HMV" from the string variable. I
> understand that the substr command does that but because the
> starting point of the word HMV is not the same for every
> variable , it would be difficult to identify the correct
> starting position to read the string and retrieve the first
> three letters HMV.
> Can somebody help please? I have tried the other string
> commands but could not understand one that does what I want.
*
* 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/