Stata 字符相关基本操作和处理

* -- 文本变量合并 用 “+”  -- *

*  gen var3=var1+var2    // var1 和 var2均是字符变量

display "Hellp" "Stata"  // 直接字符可以并列放置即可

local liu "您好"

disp "Hello" "`liu'"    // 暂元存储的字符与其他字符直接合并

* -- 文本重复 用 “*”  -- *

disp 3*"小花"            //  这里的数字只能放置字符前面

* -- 文本修改 用plural(n,s1,s2)函数  -- *

disp plural(2,"liu kuanbin")            // 在文本后加 “s”

disp plural(1,"liu kuanbin","kuanbin")  // 如果s1 s2都有值,并且s2没有+/-的符号,则表示n知识选择那个字符

disp plural(1,"liu kuanbin","+kuanbin")  // 如果s1 s2都有值,n=2,那么 +/-表示了s1尾部增加上或者尾部剔除s2字符

disp plural(1,"liu kuanbin","-kuanbin")

disp plural(2,"liu kuanbin","kuanbin")

disp plural(2,"liu kuanbin","+kuanbin")

disp plural(2,"liu kuanbin","-kuanbin")

disp plural(2,"liu kuanbin","-kuan")

* -- subinstr(s1,s2,s3,n) 将s1中s2替换为s3, n表示出现的次序  -- *

disp subinstr("this is the day","is","was",2)

disp subinword("this is the day","is","was",1)  // 这里的n 是以空格分开的单词或字符为准

* -- substr(s,n1,n2) 从s中的第n1位置开始,提取n2位  -- *

disp substr("abcdef",3,2)

* 数值型与文本型转化

disp  real("5.2")+1      // 本文字符转换为数值

disp  strofreal(4)+"F"  // 数值转换为字符

* 数值显示转换

disp strofreal(4,"%9.2f")              //显示位数

disp strofreal(123456789,"%11.0g")    // 显示

disp strofreal(123456789,"%13.0gc")

disp strofreal(0,"%td")

disp strofreal(225,"%tq")

* -- strpos(s1,s2)中s1里面的s2出现的位置 -- *

disp strpos("this","is")

disp ustrpos("this","is")

* -- 空格处理 -- *

disp stritrim("hello  there")    // 将存在多个空格缩减为只有一个空格

disp strltrim(" this is  a dog")  // 删除左侧空格

disp strltrim(" this is  a dog ")  // 删除右侧空格

* -- 字符长度 -- *

disp length("liu kuanbin")

* -- 文字匹配 strmatch(s1,s2) -- *

disp strmatch("17.4","1??4")  // 若s1和s2文本匹配上,则返回1,否则为0

* -- regexm(s,re)  正则表达式匹配 -- *

disp regexm("暨南大学","暨南")  // s为文本,re为 正则表达式

* -- strreverse(s) 文本逆序 -- *

disp strreverse("Liu Kuanbin")

disp strlower("LIU")              // 字母小写

disp strupper("liu")              // 字母大写

disp strproper("liu kuanbin")      // 首字母大写

*-------------------------------------------------------------------------------

你可能感兴趣的:(Stata 字符相关基本操作和处理)