楼主: bwhbwh
3285 6

[数据管理求助] 将字符串分离成省份和数字 [推广有奖]

  • 1关注
  • 27粉丝

灵长类

已卖:3160份资源

院士

3%

还不是VIP/贵宾

-

威望
0
论坛币
8245 个
通用积分
282.0311
学术水平
76 点
热心指数
99 点
信用等级
53 点
经验
40255 点
帖子
1018
精华
1
在线时间
4088 小时
注册时间
2004-7-4
最后登录
2025-12-26

楼主
bwhbwh 发表于 2019-4-22 21:46:54 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
将省份和数字分成两列,分开后的数字请设置为数字型,求帮助?

Example generated by -dataex-. To install: ssc install dataex
clear
input str18 var1
"北京1,520,228.3"
"天津391,875.1"   
"河北347,574.0"   
"山西7,058.6"     
"内蒙古59,684.1"
"辽宁544,727.2"   
"吉林52,199.7"   
"黑龙江113,987.5"
end


二维码

扫码加我 拉你入群

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

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

关键词:字符串 数字型 黑龙江 内蒙古

沙发
ritaing 发表于 2019-4-23 05:51:40
下次记得用dataex,
code如下:
  1. gen var_string=subinstr(var1,",","",.)
  2. replace var_string=subinstr(var_string,".","",.)
  3. while regexm(var_string,"[0-9]")==1 {
  4. replace var_string=regexr(var_string,"[0-9]","")
  5. }
  6. gen var_numeric=regexr(var1,var_string,"")
  7. replace var_numeric=subinstr(var_numeric,",","",.)
  8. destring var_numeric,replace
复制代码
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
黃河泉 + 5 + 5 + 5 精彩帖子

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

藤椅
蓝色 发表于 2019-4-23 14:16:33
  1. clear
  2. input str18 var1
  3. "北京1,520,228.3"
  4. "天津391,875.1"   
  5. "河北347,574.0"   
  6. "山西7,058.6"     
  7. "内蒙古59,684.1"
  8. "辽宁544,727.2"   
  9. "吉林52,199.7"   
  10. "黑龙江113,987.5"
  11. end


  12. gen vars=var1
  13. replace vars=ustrregexra(vars,"[0-9]*[,.]*[0-9]","")
  14. gen     varn=subinstr(var1,vars,"",.)
  15. destring varn,ignor(",") replace
  16. list
复制代码


已有 2 人评分学术水平 热心指数 信用等级 收起 理由
ritaing + 5 + 5 + 5 精彩帖子
黃河泉 + 5 + 5 + 5 精彩帖子

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

板凳
bwhbwh 发表于 2019-4-23 14:44:42
gen s = ustrregexs(1) if ustrregexm(var1, "^(\p{Han}+)")

gen double n = real(subinstr(subinstr(var1,s,"",1),",","",.))
已有 2 人评分学术水平 热心指数 信用等级 收起 理由
ritaing + 5 + 5 + 5 精彩帖子
黃河泉 + 5 + 5 + 5 精彩帖子

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

报纸
ritaing 发表于 2019-4-24 00:03:08
ritaing 发表于 2019-4-23 05:51
下次记得用dataex,
code如下:
其他两位感觉更简洁,给力
学习了
又学到这个也可以
  1. generate vstring = ustrregexra(var1, "[0-9,\.]", "")
  2. generate vnum = ustrregexra(var1, vstring, "")
复制代码

地板
黃河泉 在职认证  发表于 2019-4-24 08:53:57
ritaing 发表于 2019-4-24 00:03
其他两位感觉更简洁,给力
学习了
又学到这个也可以
请看看 https://www.statalist.org/forums ... plit-string-numerichttps://www.statalist.org/forums ... se-into-two-columns

7
ritaing 发表于 2019-4-24 23:17:22
黃河泉 发表于 2019-4-24 08:53
请看看 https://www.statalist.org/forums/forum/general-stata-discussion/general/1494524-split-strin ...

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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-1-1 04:12