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

 

posted @ 2023-02-24 14:47  myrj  阅读(2136)  评论(0编辑  收藏  举报