stata:字符串包含判断
//显示gwmc中包含“管理"的所有观测值 list if strmatch(gwmc,"*管理*") //使用正则表达式 //建立新变量ifoi,如果yjszyyq包含”经济"值为1,否则为0 gen ifoi=regexm(yjszyyq,"经济") if yjszyyq!=""
indexnot(s1,s2)以单个字符判断为依据,结果是位置表示;上面两个函数以字符串整体为判断依据,结果为1(包含)0(不包含)
//indexnot(s1,s2) 返回s1中第一个在s2中找不到的字母的位置,若s1所有的字母在s2中均可以找到,则返回0 //下面语句结果为4,12d三个字符都在s2:2fsd1中,i是第一个不在s2中的,所以结果为4 disp indexnot("12disxl","2fsd1") //下面语句结果为7,12disxl六个字符都在s2:2fsdixs1中,l是第一个不在s2中的,所以结果为7 disp indexnot("12disxl","2fsdixs1") //下面语句返回1,表示关系表达式成立,则表明函数返回值是0 disp indexnot("12disxl","2fsd1lixs")==0
gen vv1=indexnot("M",make)==0 gen tar=1 if strpos(make, "M")!=0