我试图从Stata中的一个专栏中找到一个可能出现在所有大写或全部小写中的单词。
foreach varlist_cust in "xyz" "XYZ" "XyZ" {
replace cus_tag = strpos(customer_name, "`varlist_cust'") if cus_tag==0
}
是否有更有效的方法进行此分析?也许使用正则表达式?
答案 0 :(得分:4)
不需要正则表达式,因为Stata具有内置lower()
函数。例如,参见
clear
input str9 customer_name
"Ander2Ed"
"sonu"
"abcXyZcba"
"XYZ"
"zXyZ"
end
gen cus_tag = strpos(lower(customer_name), "xyz")
只需将customer_name
变量评估为小写,而不是您要查找的小写值。
请参阅help lower
和help string functions
了解更多信息。