* -- 文本变量合并 用 “+” -- *
* 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") // 首字母大写
*-------------------------------------------------------------------------------