楼主: 黃河泉
1843 9

[程序分享] 分离地址 (县 镇 村 乡) [推广有奖]

大师

52%

还不是VIP/贵宾

-

威望
3
论坛币
34526 个
通用积分
55919.0872
学术水平
3538 点
热心指数
3699 点
信用等级
2922 点
经验
308767 点
帖子
14507
精华
12
在线时间
7396 小时
注册时间
2016-7-9
最后登录
2024-5-3

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
刚刚在此 https://www.statalist.org/forums ... ng-this-chinese-str 看到一个分离中文地址之应用,与大家方享。资料为
  1. * Example generated by -dataex-. To install: ssc install dataex
  2. clear
  3. input str51 rural
  4. "青龙满族自治县木头凳镇邱丈子村三队"
  5. "青龙满族自治县木头凳镇邱杖子村"      
  6. "青龙满族自治县隔河头乡草场村"         
  7. "靖远县东升乡柴辛村二队"                  
  8. "靖远县五合乡白塔村"                        
  9. "靖远县北滩乡刘梁村"                        
  10. end
复制代码
Andrew Musau 建议:
  1. local i=1
  2. foreach l in 县 镇 村 乡{
  3.         gen p`i'=strpos(rural,"`l'")
  4.         local ++i
  5. }
  6. gen a = substr(rural, 1, p1-1) + "县"
  7. gen which = regexm(rural,"镇")
  8. gen b = cond(which, substr(subinstr(rural, a, "", .), 1, p2-p1), substr(subinstr(rural, a, "", .), 1, p4-p1))
  9. gen c = cond(which, substr(subinstr(rural, a+b, "", .), 1, p3-p2), substr(subinstr(rural, a+b, "", .), 1, p3-p4))
  10. list rural a b c, sep(6)
复制代码
结果为: sa.png
二维码

扫码加我 拉你入群

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

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


回帖推荐

songking 发表于10楼  查看完整内容

如果是这种格式的地址的话,其实有更简单直观的处理方法: forvalues i=1/3{ gen a`i'="" replace a`i' =ustrregexs(`i') if ustrregexm(rural,"(.+\县)(.+\乡)(.+\村)") replace a`i' =ustrregexs(`i') if ustrregexm(rural,"(.+\县)(.+\镇)(.+\村)") }
已有 4 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
葫芦娃大王 + 10 + 10 + 2 + 2 精彩帖子
Sunknownay + 3 + 3 + 3 精彩帖子
震震果实 + 4 + 4 + 4 + 4 精彩帖子
crystal8832 + 50 + 2 + 2 + 2 精彩帖子

总评分: 经验 + 10  论坛币 + 64  学术水平 + 11  热心指数 + 11  信用等级 + 9   查看全部评分

沙发
cyllwt 学生认证  发表于 2020-3-14 22:45:55 |只看作者 |坛友微信交流群
很实用很实用

使用道具

藤椅
lonestone 在职认证  发表于 2020-3-15 08:47:17 来自手机 |只看作者 |坛友微信交流群
黃河泉 发表于 2020-3-14 11:27
刚刚在此 https://www.statalist.org/forums/forum/general-stata-discussion/general/1541156-ask-for-spl ...
谢谢楼主的分享

使用道具

板凳
葫芦娃大王 学生认证  发表于 2020-3-15 15:42:42 |只看作者 |坛友微信交流群
微信截图_20200315154147.png 为什么会出现这样的情况呢?

使用道具

报纸
黃河泉 在职认证  发表于 2020-3-15 16:03:57 |只看作者 |坛友微信交流群
葫芦娃大王 发表于 2020-3-15 15:42
为什么会出现这样的情况呢?
不要用 "复制代码" (这个功能有问题,请版主反应一下,谢谢),自己人工复制,再试试看!
已有 1 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
葫芦娃大王 + 10 + 10 + 1 + 1 + 1 精彩帖子

总评分: 经验 + 10  论坛币 + 10  学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

使用道具

地板
yuqr1986 学生认证  发表于 2020-3-16 19:17:47 |只看作者 |坛友微信交流群
谢谢黄老师分享

使用道具

7
葫芦娃大王 学生认证  发表于 2020-3-17 21:16:15 |只看作者 |坛友微信交流群
黃河泉 发表于 2020-3-15 16:03
不要用 "复制代码" (这个功能有问题,请版主反应一下,谢谢),自己人工复制,再试试看!
好的,谢谢黄老师

使用道具

8
静心品茶 发表于 2020-3-18 20:54:51 |只看作者 |坛友微信交流群
谢谢黄老师分享

使用道具

9
只争朝夕! 发表于 2020-5-17 10:07:19 来自手机 |只看作者 |坛友微信交流群
黃河泉 发表于 2020-3-14 11:27
刚刚在此 https://www.statalist.org/forums/forum/general-stata-discussion/general/1541156-ask-for-spl ...
谢谢大师

使用道具

10
songking 发表于 2020-5-19 20:21:11 |只看作者 |坛友微信交流群
如果是这种格式的地址的话,其实有更简单直观的处理方法:
forvalues i=1/3{
gen a`i'=""
replace a`i' =ustrregexs(`i')  if ustrregexm(rural,"(.+\县)(.+\乡)(.+\村)")
replace a`i' =ustrregexs(`i')  if ustrregexm(rural,"(.+\县)(.+\镇)(.+\村)")
}
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
黃河泉 + 5 + 5 + 5 精彩帖子

总评分: 学术水平 + 5  热心指数 + 5  信用等级 + 5   查看全部评分

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-5 13:28