2016-08-12 8 views
0

大文字または小文字で表示されるStataの列から単語を検索しようとしています。大文字と小文字の両方で表示される一致文字列(または小文字と大文字の組み合わせ)

foreach varlist_cust in "xyz" "XYZ" "XyZ" { 


replace cus_tag = strpos(customer_name, "`varlist_cust'") if cus_tag==0 

} 

この分析を効率的に行う方法はありますか?たぶん、正規表現の使用ですか?

+0

私はstataについてはわかりませんが、正規表現をどのように使用するのかを検討しましたか? strposとsubinstrで正規表現を使用する方法。 '/ xyz/i'のような表現は動作します – arseniyandru

+0

正規表現について多くのことを読んでいます。特殊文字を見つける方法を理解していますが、別のケースで正確な単語を見つけることができるかどうかはわかりません。私はあなたが提案したことを試してみます。 – sonu

+1

"列"は "変数"を読み込みます( "STATA"は既に "Stata"と読み込まれています)。 –

答えて

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を参照してください。

関連する問題