楼主: renli2012bj
5367 0

[程序分享] 截取文本excel与sas对比分析,excel left,right,和find函数 VS sas substr,find,c [推广有奖]

  • 5关注
  • 5粉丝

大专生

90%

还不是VIP/贵宾

-

威望
0
论坛币
15 个
通用积分
1.0000
学术水平
5 点
热心指数
5 点
信用等级
5 点
经验
470 点
帖子
16
精华
0
在线时间
105 小时
注册时间
2015-7-5
最后登录
2023-7-25

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币

在实际工作中我们需要提取某文本中需要的信息,如详细地址中提取省、市、区或某用药信息中提取药品名称等等。

一、excel方法 excel中字符截取函数主要有三个,leftrightmid函数。

1.1left 函数 顾名思义,left函数从左开始截取多少字符,因此有两个参数,被截取的字符文本(text)和截取位数(num_chars),默认是从左第一个字符开始截取,在未指定第二个参数时,默认提取第一个字符。如下

无标题.png

1.2Right函数 则是反向截取,原理同left如下:

无标题.png

1.3Mid函数 则是从中间某位置开始截取几位字符,因此有三个参数,分别为被截取文本(text),中间开始位置(start_num)和截取位数(num_chars),中间开始位置可以任意合理定义,因此这个函数可以代替leftright函数

无标题.png

有时字符串较复杂,我们不能确定某截取的字符在被截取文本的第几位时,需要使用find函数确定截取字符的位置。如下,查找不到相应字符的返回无效值。Mid函数是相对灵活的截取函数。

无标题.png

二、sas应用 以上为excel截取字符的相关函数,sasexcel某些函数意义是相同的如,如maxminfind等等,那么字符串截取相关的函数两者是否仍具有相同的规则?


2.1  leftright函数 Left函数在sas的定义为Left aligns a character expression.”返回的为左对齐字符串,即把开始空格移到末尾,字符串长度不改变,原来的leading blanks变为trailing blanks。所以在sasleft不再是左截取意义的函数,而是左对齐的函数(长度不改变,空格位置发生变化,当然在开始位置无空格的文本处理结果相同)。Right函数定义“Right aligns acharacter expression.”,右对齐,尾部空格移到开始位置。

无标题.png

2.2substr函数  sas中可用的截取直接相关函数,scansubstrScan函数在sas的定义为Returnsthe nth word from a character string.”,这个函数相对简单,具体见查看与帮助。Substr函数的应用类似于mid函数,具有三个参数,SUBSTR(character-expression, position-expression [, length-expression])灵活使用该函数也是需要结合find函数返回被截取字符首个字符的位置两个函数的应用同excel。有时我们截取固定长度字符,但其中可能包含不需要的字符,因此有时需要使用compress函数进一步去除不要的文本。

data test;

  input id :$3. exams &$30.;

math=substr(exams,find(exams,"math","i",1),4);

Enlish=substr(exams,find(exams,"english","i",1),7);

cards;

001 math Chinese

002 English math chemistry

003 Chinese phisics

;


run;

无标题.png

Substr函数的而另一种应用就是字符串替换.substr函数放在等号右边为截取字符,而当substr函数放在等号左边为替换函数。

data test;

input id :$3.exams &$30.;

math=substr(exams,find(exams,"math","i",1),4);

Enlish=substr(exams,find(exams,"english","i",1),7);

substr(exams,find(exams,"Chinese","i"),7)="yuwen";

cards;

001 math Chinese

002 English math chemistry

003 Chinese phisics

;

run;

无标题.png

掌握以上字符截取函数,在一段文本,就可以轻松自如的提取相关信息,软件间的某些应用也是相通的,融会贯通,善于总结,条条大路通罗马,结果只有一种,过程可以多样,在于掌握工具的程度。

更多精彩请关注“sas应用分析”微信公众号。扫描下方二维码关注。sas base,advanced,clinical trial全球认证考试资料免费认领。 IMG_6882.PNG


二维码

扫码加我 拉你入群

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

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

关键词:SUBSTR EXCEL RIGHT find exce 文本截取函数 excel sas 比较分析

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

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

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

GMT+8, 2024-4-26 14:53