You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Stata中如何去除字符串变量末尾的特定后缀(如INC、CO等)

Stata移除公司名称末尾后缀的简洁方案

针对字符串变量中末尾带INC、CO、& CO等后缀的情况,用正则表达式可以一次性高效处理,兼顾大小写、后缀前的空格以及可选的点(如INC.):

核心代码(推荐Unicode版本)

假设你的公司名称变量名为company,生成清理后的变量clean_company:

* 匹配并移除末尾的指定后缀,大小写不敏感
gen clean_company = ustrregexr(company, "\s*(?:& CO|CO|INC)\.?$", "", 1)
* 清理首尾多余空格
replace clean_company = ustrtrim(clean_company)

正则表达式说明

  • \s*:匹配后缀前的0个或多个空格(比如"ABC CO"中的空格)
  • (?:& CO|CO|INC):非捕获组,按顺序匹配多个后缀(先匹配& CO避免误拆)
  • \.?:匹配可选的英文点号(兼容INC.、CO.这类写法)
  • $:锚定字符串末尾,确保只移除结尾的后缀
  • 最后一个参数1:开启大小写不敏感模式,兼容inc、Inc等写法

扩展支持更多后缀

如果需要处理LLC、LTD等其他后缀,直接在正则组中添加即可:

gen clean_company = ustrregexr(company, "\s*(?:& CO|CO|INC|LLC|LTD)\.?$", "", 1)
replace clean_company = ustrtrim(clean_company)

旧版Stata兼容方案

若你的Stata版本不支持ustrregexr,可以用regexr配合大小写转换:

* 先转大写匹配后缀,再清理空格
gen clean_company = regexr(upper(company), "\s*(?:& CO|CO|INC)\.?$", "")
* 还原为首字母大写格式(按需调整)
replace clean_company = proper(clean_company)
replace clean_company = ustrtrim(clean_company)

测试案例

原公司名称清理后名称
Tech Solutions INCTech Solutions
Global Trading & COGlobal Trading
Local Business CO.Local Business
Small Retail incSmall Retail

内容的提问来源于stack exchange,提问作者Ali

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 14:25:07