楼主: Rock2000
6072 4

[有偿编程] 怎样从字符变量提取数字 [推广有奖]

  • 1关注
  • 24粉丝

学术权威

22%

还不是VIP/贵宾

-

威望
1
论坛币
104812 个
通用积分
25.6012
学术水平
55 点
热心指数
74 点
信用等级
48 点
经验
23619 点
帖子
547
精华
0
在线时间
10774 小时
注册时间
2004-5-27
最后登录
2024-4-25

10论坛币
有一数据如下,要求提取XX路(或许没路字)XX号之前的数字,“号”字之后的数字不考虑提取,怎样编程?
  1. 东风路321号
  2. 东风路1号之1
  3. 东风路31号
  4. 中山路145号
  5. 中山路112号之21
  6. 中山路91号之2
  7. 解放西路121号
  8. 解放西路2号
  9. 解放西路21号之5
  10. 延安三路北11号
  11. 延安三路北113号之9
  12. 延安三路北1号
复制代码

最佳答案

whymath 查看完整内容

已知: 1. 字符串中一定含有字符“号”和数字; 2. 字符"号"前后都有可能存在数字; 目的: 1. 提取字符"号"前的所有数字; 思路: 截取字符串到字符“号”,然后提取截取字符串中的数字。 示例: data _null_; text = '东风路1号之1'; digital = compress(kscan(text,1,'号'),,'dk'); put text = @ digital = ; run;
关键词:字符变量 怎样编程 中山路

回帖推荐

whymath 发表于2楼  查看完整内容

已知: 1. 字符串中一定含有字符“号”和数字; 2. 字符"号"前后都有可能存在数字; 目的: 1. 提取字符"号"前的所有数字; 思路: 截取字符串到字符“号”,然后提取截取字符串中的数字。 示例: data _null_; text = '东风路1号之1'; digital = compress(kscan(text,1,'号'),,'dk'); put text = @ digital = ; run;
沙发
whymath 发表于 2019-1-16 21:12:18 |只看作者 |坛友微信交流群
已知:
1. 字符串中一定含有字符“号”和数字;
2. 字符"号"前后都有可能存在数字;

目的:
1. 提取字符"号"前的所有数字;

思路:
截取字符串到字符“号”,然后提取截取字符串中的数字。

示例:
data _null_;
text = '东风路1号之1';
digital = compress(kscan(text,1,'号'),,'dk');
put text = @ digital = ;
run;
已有 2 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
admin_kefu + 50 + 5 + 5 + 5 热心帮助其他会员
Rock2000 + 5 + 1 + 1 + 1 观点有启发

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

使用道具

藤椅
nice生活圈 在职认证  学生认证  发表于 2019-1-17 17:40:37 |只看作者 |坛友微信交流群
您好,如果您的求助没有解决,请到项目交易发布需求,会有更快更专业的用户帮助您 https://bbs.pinggu.org/prj/

使用道具

板凳
Rock2000 发表于 2019-1-18 12:56:57 |只看作者 |坛友微信交流群
whymath 发表于 2019-1-16 21:12
已知:
1. 字符串中一定含有字符“号”和数字;
2. 字符"号"前后都有可能存在数字;
妙,从“号”开始截取,并且用到K函数。

使用道具

报纸
songking 发表于 2019-6-4 21:47:36 |只看作者 |坛友微信交流群
用STATA
moss add, match("([0-9]+)\号") regex
rename _match1 num
cap drop _*

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

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

GMT+8, 2024-4-26 21:00