全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
5509 13
2021-01-22
在数据处理过程中经常会遇到文本中含有空格,当我们进行merge匹配时,总是匹配失败,这时该怎么办?很多人想到的方案应该都是用subinstr将空格替换掉,但有时候你会发现subinstr可能会失效,比如下面这个例子(今天刚有人问我的)
复制代码

一眼望去似乎没什么问题,但仔细看一下,你会发现公司名称最后一位多了个空格。这时候如果我们采用subinstr来替换空格,你会发现,根本不起作用,不信你可以试试。
复制代码

此时,我想到这可能不是一般意义上的空格,我猜测可能是全角空格、制表符或其他杂七杂八的空格。这个时候,正则表达式就有用武之地了,我们可以用“\s”来干掉这些莫名其妙的空格,我也不用知道你究竟是什么类型空格,全部给你干掉。
复制代码

Wow,此时可以看到所有的顽固空白都被轻松消灭了。
结语:今后只要遇到去掉空格问题,我们都可以统一采用这种方法,不必再用subinstr了,因为有时候会失效,而上述方法针对一切顽固空格全消灭。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2021-1-23 10:59:22
也可以用trim
复制代码

复制代码
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2021-1-23 14:53:12
蓝色 发表于 2021-1-23 10:59
也可以用trim
好久没看到蓝色版主留言发帖啊,太棒了!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2021-1-23 15:06:18
蓝色 发表于 2021-1-23 10:59
也可以用trim
但是我发现trim只能去掉文本末尾的空格,无法去掉中间的空格:
复制代码


可以发现中间以及后面都有空格,用trim只能去掉末尾空格;
复制代码

复制代码


所以无论空格出现在何处,都能有ustrregexra正则表达式。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2021-1-23 18:58:59
没错trim不能删除中间的空格
但是两端的应该是可以删除的
复制代码


复制代码

------------------ copy up to and including the previous line ------------------

Listed 1 out of 1 observations
[/code]

可以看出两端的都删除了
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2021-1-23 19:09:26
复制代码

------------------ copy up to and including the previous line ------------------

Listed 8 out of 8 observations
[/code]

我这里运行是可以删除的

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群