SAS--处理字符型变量

    

data sasuser.agency99;
    set sasuser.talent;
    length state $10;
    state=scan(address2,2,‘,‘); *提取由comma分割后list中的第二个元素,第三个参数可以不写,默认好多个特殊符号;
run;                            /*连着多个被指定的delimiters当作一个*/
proc print data=sasuser.agency99;
run;

data sasuser.newtal;
    set sasuser.talent;
    sex=substr(id,4,1); *提取id变量中第 4 个字符开始后,前1位字符;
run;
proc print data=sasuser.newtal;
run;

data sasuser.datalent;
    set sasuser.njtalent;
    substr(newphone,2,3)=302;
run;
proc print data=sasuser.datalent;
run;

/*trim 去掉因为格式问题导致的多余的空格
 A=trim(b)||c  */

data sasuser.stage;
    set sasuser.talent;
    if index(comment,‘stage‘) > 0 ;   /*搜索变量是否含有指定字符串,含有则>0*/
run;                                /*注意 index 没有semicolon*/
proc print data=sasuser.stage;
run;

/*a = upcase(b);
  b = loecase(a);*/

/*修改特定字符串
country=tranwrd(country,‘burma‘,‘myanmar‘);  把burma换成myanmar*/

/*取整数部份
a = int(b); */

/*保留小数位
a = round(b,.2);  保留两位小数,默认保留一位小数*/

原文地址:https://www.cnblogs.com/super-yb/p/11830107.html

时间: 2024-11-02 00:23:02

SAS--处理字符型变量的相关文章

字符型变量

我们都知道,除了数字以外还有其他符号,比如字母等等,这些符号就是字符,存储字符的变量就是字符型变量. 一个字符型变量只能存储一个字符,比如time这个单词,就需要四个字符变量来存储. 那么,思考下面几个问题: 字符型变量在计算机内是以什么形式存储的? 答案很显然,也是0110这类的二进制码. 那么,二进制码是怎么变成字符的? 这个问题就比较专业了,就是用到ASCII码.简单地说,就是哪个数字代表哪个字符都统一标准.比如65就代表A,97代表a. 所以实际上,字符型就是个整数. 字符型的定义: c

C语言中以十六进制输出字符型变量会出现'ffffff"的问题

最近在做一个C的嵌入式项目,发现在C语言中用printf()函数打印字符型变量时,如果想采用"%x"的格式将字符型变量值以十六进制形式打印出来,会出现一个小问题,如下: C代码   char buf[10] = {0}; buf[0] = 0xbf; printf("%2x\n\n\n", buf[0]);            /*在终端将会显示成:ffffffbf*/ buf[1] = 0x7f; printf("%2x\n\n\n", bu

java 复习-字符型变量

在java中,字符型变量用char 表示,用来存储字母.数字.标点符号等字符.占两个字节,用unicode编码,可以表示中文和英文.字符要用单引号包围.比如 'A'  '我' 注意事项:     有些特殊的字符,不能直接用单引号,要用转义字符表示.  (1) \n :表示换行  (2) \t :表示制表符,相当与Tab键  (3) \' :表示单引号  (4) \" :表示双引号  (5) \\ :表示一个斜杠"\"  package charTest; public cla

字符型变量/常量

字符型在内存中占2个字节,在Java中使用单引号来表示字符常量.例如'A'是一个字符,它与"A"是不同的,"A"表示含有一个字符的字符串. char 类型用来表示在Unicode编码表中的字符.Unicode编码被设计用来处理各种语言的文字,它占2个字节,可允许有65536个字符. [示例2-16]字符型举例 char eChar = 'a';  char cChar ='中'; Unicode具有从0到65535之间的编码,他们通常用从'\u0000'到'\uFF

关于字符型char变量

写程序时,意外发现个很不容易察觉问题出在哪的问题的 scanf("%c",&ch); scanf("%c",&c); printf("ch:%c\n",ch); printf("c:%c\n",c); 如果输入是:a b 那么输出会是:ch:a c: 问题出在哪?如果将代码改为: scanf("%c",&ch); scanf("%c",&c); print

让人又爱又恨的char(字符型)

今天来总结一下char型,平常写算法的时候对这个东西感觉都有一点绕着走,说到底还是对这部分的知识不熟悉所以有点怕他,不过以后不要怕,今天来总结一下 首先,说到字符型数据类型,char型,恩它是一种数据类型 然后,就是字符型变量 字符型变量的重点是将一个字符存入字符变量中,实际上存入的不是这个字符的形,而是这个字符的ASCII码 输入:getchar(); 输出:putchar(); getchar和scanf的区别在于他可以输入空格 字符型常量: 1.普通 'a' 2.转义 1.‘\t’ 斜杠+

c语言整型和字符型的自动类型转换

char a = -1; //机器码为0xff unsigned char b = 254; //机器码0xfe if (a <= b){ printf("a <= b\n"); } else{ printf("a > b\n"); } 上述代码输出结果: a > b 赋值用机器码写入内存 虽然我们以十进制为两个变量赋值,但是变量值在内存中是以二进制机器码的形式存在.如果十进制数是负数,它就以补码的形式存放在内存中.比如"a = -

关于指针 用字符数组,字符指针变量输入字符串 动态为字符型指针变量分配内存

#include <stdio.h> #include <iostream> #include<math.h> using namespace std; int main() { //声明字符型数组和指针变量 char str[10]; char *strip=str; //输入输出 cout<<"str="; cin>>str; //用字符数组输入字符串 cout<<"str="<<

[SAS]易错例子之数值型转字符型

/* 数值型缺失,可赋值点号(.),data步可以用 var = . 或 missing(var)判断 字符型缺失,可赋值0个或多个空格('' 或' '等), data步可以用var = '' 或missing(var)判断 以下是数值型缺失转字符型的例子,但缺失转换后不缺失,易做错. */ data test; input var; datalines; 1 . ; run; /* 错误转换*/ data test2; set test; var2 = compress(put(var, 8.