這裏的數據的一個示例:如何在Stata中只提取一個字符串的大寫部分?
part1
"Cambridge, Maryland TEST MODEL SEADROME"
"L.B. MAYER HONORED"
"A TOWN MOVES"
"U.S. SAVINGS BONDS RALLY"
"N.D. NOSES OUT S.M.U. BY 27 TO 20"
"Philadelphia, Pa. BURN 2,300 SQUEALERS"
"Odd Bits In To-day's News"
"Saratoga Springs, N.Y. DIAVOLO IS STAR AT BRILLIANT SPA OPENING"
"Risk Death in Daring Race"
"Philadelphia, PA. IT'S HIGHER EDUCATION"
"806 DECORATIONS"
"Snow Hauled 20 Miles For Skiers"
"F.D.R. ASKS VICTORY EFFORT"
每個串或者具有上和小寫部分,或者是全部大寫。我一直試圖使用正則表達式來只提取字符串的大寫部分,但沒有任何運氣。我已經能夠做的最好的是,當一個字符串開頭或以一定數量的大寫字符識別結束:
generate title = regexs(0) if regexm(part1, "^[A-Z][A-Z][A-Z].*[A-Z][A-Z][A-Z]$")
我也試過以下,這是我從論壇的另一個問題拉:
generate title = regexs(0) if(regexm(part1, "\b[A-Z]{2,}\b"))
這是應該尋找在行中至少有兩個大寫字母的單詞,但它只爲我返回缺少的值。我爲Mac使用Stata 13.1版。
不確定你想要什麼:獲取所有大寫字母的段?嘗試使用'^ [^ a-z] + $'。但是,否定類可能不被支持。如果它不起作用,您將不得不嘗試解決方法,如'^ [AZ] [0-9A-Z〜\'@#$%^&*()_ +'= \] \ [{} \\ |' ?「;:/,>< - ] + $'。 –