stata中_stata中字符串的处理

最近处理一些审计相关的数据,遇到一个小的需求,从CPA的分所层级的单位数据中提取其事务所层级数据。举例来说,已知张三的工作单位是“安永华明会计师事务所(特殊普通合伙)四川分所”,需要提取其工作单位“安永华明会计师事务所(特殊普通合伙)”。

这个小问题看似简单,但以前没碰到过,实际处理起来还是花了点时间。首先,每家事务所的名字长度不一定,俩字、仨字、四字甚至五字都有可能,这就导致substr函数没有了用武之地;其次,虽然“XX分所”大多是四个字,但总有几个例外,如“石家庄分所”、“黑龙江分所”,这样要提取分所信息也更复杂;并且,找了一下似乎stata上也没发现字符串相减的函数,所以,即使提取出了分所信息,这种间接做法也行不通。

最后,观察字符串发现一个规律:虽然字符数不定,但是好在所有的“XX分所”前一定是反括号“)”,通过搜索,运用定位+截取的办法解决了这个问题。首先,运用strrpos定位反括号的最后的位置(strpos是定位指定字符第一次出现的位置,但因为有些字符串括号不止出现一次,如“XX(集团)事务所(特殊普通合伙)XX分所”,所以定位最后出现的位置);然后,运用substr截取字符串从开头到最后反括号位置的子字符串。


字符串的处理,是决定数据清洗效率的重要环节。有些问题可能stata已经提供了简便的处理办法,只是因为我们没有用过,就不知道,所以平时碰到问题多角度思考处理办法,搜索相关的资料,还是有用的。我也去翻了一下stata操作手册的字符函数,大致浏览了一下官方提供的字符处理函数。在了解下面的函数之前,需

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值