设为首页收藏本站

EPS数据狗论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1482|回复: 0

SAS字符操作

[复制链接]

11

主题

106

金钱

171

积分

入门用户

发表于 2019-8-21 16:44:56 | 显示全部楼层 |阅读模式

在sas数据清洗与整理过程会接触到两类型数据,字符型和数值型,并且sas只会以这两种形势出现。不会像R一样出现列表、数组、矩阵、数据框、日期等多种形势。Sas中关于数值型的操作大家并不陌生,所以今天特意聊一聊如何在sas中对字符进行操作的问题。

先简单说一说一些常用的函数:
1、截取字符串  substr(a,2,3)   截取a,从2开始取3位

2、替换字符串 tranwrd(a,"a1","a2") 替换a中的a1为a2

3、删除部分字符串 compress(a,"a1")  删除a中的a1

4、trim() 去掉字符串尾部空格,如果字符串为空,则返回一个空格,改变字符串的物理存储长度、字符长度

5、trimn() 去掉字符串尾部空格,如果字符串为空,则返回一个空字符串,改变字符串的物理存储长度、字符长度

6、left() 把字符串开头的空格移到尾部,没有改变字符串的物理存储长度,但字符长度被改变

7、strip() 去掉字符串开头和结尾的所有空格,改变字符串的物理存储长度、字符长度

8、cat() 与||作用类似,保留首尾全部空格

9、catt() 连接之前会去掉各字符串尾部空格,相当于连接符结合trim()使用

10、cats() 连接之前会去掉首尾全部空格,相当于连接符结合strip()或trim(left(字符串))使用

11、catx() 连接之前会去掉首尾全部空格,在字符串之间加上一个指定的字符串

12、LENGTH(string):返回字符长度,只有尾部空格不计数,空字符串与连续空格视为1

13、LENGTHN(string):返回字符长度,只有尾部空格不计数,空字符串与连续空格视为0

14、LENGTHC(string):返回字符长度,对字符长前后的空格计数,对连续空格计数,空字符串是为1

15、LENGTHM(string):返回存储的字节长度,对字符串前后的空格计数,对连续空格计数,空字符串视为1

16、Anyalnum(参数,n)  /*从n开始计算出现第一个字符或者数字的位置是多少

17、Anyalpha(参数,n)/*不输入n时返回第一个字符的位置,输入n时从n开始第一次出现字符的位置

18、anydigit( 参数,n)/*不输入n时返回第一个数字的位置,输入n时从n开始第一次出现数字的位置

19、anyspace(参数,n)/*不输入n时返回第一个空格的位置,输入n时从n开始第一次出现空格的位置

20、Position=find(string,substring<,modifiers,startpos>):若substring在string中被找到,返回其第一次出现的位置

21、scan(string,n,“参数”)/将字符按照参数分块,在从其中提取出第n个字符。


在进行数据筛选时也可匹配字符关键词

Data a;

Set a1;

Where var like “%字符%”;

Run;
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

客服中心
关闭
在线时间:
周一~周五
8:30-17:30
QQ群:
653541906
联系电话:
010-85786021-8017
在线咨询
客服中心

意见反馈|网站地图|手机版|小黑屋|EPS数据狗论坛 ( 京ICP备09019565号-3 )   

Powered by BFIT! X3.4

© 2008-2028 BFIT Inc.

快速回复 返回顶部 返回列表