0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

SAS:常用字符处理函数介绍

冬至子 来源:小高的SAS学习笔记 作者:小高笔记 2023-05-19 10:15 次阅读

1.SCAN函数:从字符表达式s中搜取给定的n个单词

WORD = SCAN(source,n,delimiters );

(1)如果n为负数,则SCAN选择字符串中从字符串末尾开始的单词。如果|n|大于字符串中的字数,则SCAN返回一个空白值。

(2)Delimiters可以是Blank . < ( + | & ! $ * ) ; - / , % ^

/ SCAN函数应用举例 /

data test1;

name='john smith';

firstname = scan(name,1);

lastname = scan(name,2);

a='d:\\risk1\\uscc\\datapull.sas';

fn=scan(a,-1,'');

run;

/ 结果如下: /

图片

2.INDEX函数:搜索字符参数

如果找到字符参数,则返回它在字符值中的位置,如果找不到,则返回0。

INDEX = INDEX(source, except);

Source: 待查找的字符变量.

Except: 要查找的字符参数

/ INDEX函数应用举例 /

data test2;

length reason $100;

line = 'ERROR 180-322: Statement is not valid or it is out of proper order.';

index = index(line, 'ERROR');

put 'index= ' index;

if index > 0 then

put line;

index2 = index(line, ':');

put 'index2= ' index2;

if index2 > 0 then

reason = substr(line, index2);

put'REASON' reason;

run;

/ 结果如下: /

图片

补充:大小写设置

转变所有的字母:

varu=upcase(argument);

varl=lowcase(argument);

var=propcase(argument)首字母大写;

3.FIND函数:在您指定的字符串中搜索特定的字符子字符串

FIND(string,substring<,modifiers><,startpos>)

string是要在其中搜索的字符串或字符变量名称,

substring是要在字符串中搜索的字符串。返回substring首次在string中出现的位置,若未找到,则返回0。

startpos指定从 string的何处开始搜索substring,正值从左至右,负值反向。

Modifier=I,搜索时忽略大小写,默认区分大小写。

/ FIND函数应用举例 /

data test3;

string1='1234567890';

pos1=find(string1, '3');

put 'pos1=' pos1;

string2='c:\\project1\\analysis\\distribution.sas';

pos2=find(string2, '\\', -100);

put 'pos2=' pos2;

string3='The search is Case Sensitive';

pos3=find(string3, 'case');

put 'pos3=' pos3;

string4='The search is not Case Sensitive';

pos4=find(string4, 'case', 'i');

put 'pos4=' pos4;

string5=upcase(string4);/*将字符串转换为大写*/

pos5=index(string5,'CASE');

put 'pos5=' pos5;

run;

/ 结果如下: /

图片

然而两类Function之间不同的是:FIND类Function有一些INDEX类Function所不具有的功能,包括:

(1)FIND类可以检索所检索目标的”首次“出现位置;

(2)FIND类可以指定检索的方向(如:自左向右,自右向左);

(3) FIND类可以忽略字符串的大小写或末尾的空格。

4.COMPRESS函数:用以体剔除或保留特定字符

COMPRESS(string<,chars ><,modifiers>)

String指定一个要移除字符的源字符串,

Chars指定一栏初始字符,默认它是从string里移除的

Modifiers指定一个修饰语,函数的具体功能。如:

图片

/ COMPRESS函数应用举例 /

data test4;

string1="  Sunlights";

new1=compress(string1);

new2=compress(string1,'S');

new3=compress(string1,"S","K");/*从源字符串中返回字符"S"*/

new4=compress(string1,"s","U");/*从源字符串中将字符"s"及大写字母剔除*/

run;

/ 结果如下: /

图片

补充:

1.只有string,移除空格。

2.只有string,chars时,从source中移除chars。

  1. string,chars,modifiers都有时,modifiers中的K决定保留还是移除。无K时,移除chars加上modifiers指定的。

5. CAT函数:用以拼接字符串

CAT(string1, ... , stringn):连接字符串不去除空格

CATT(string1, ... , stringn):去除尾部空格连接

CATS(string1, ... , stringn):移除前后空格连接 trim删除右侧空格

CATX(separator, string1, ... , stringn):移除首位空格,插入特定字符连接

/*代码相当于: */

CAT(OF X1-X3) = X1||X2||X3

CATT(OF X1-X3)= TRIM(X1)||TRIM(X2)||TRIM(X3)

CATS(OF X1-X3)= TRIM(LEFT(X1))||TRIM(LEFT(X2))||TRIM(LEFT(X3))

CATX(SP, OF X1-X3)=TRIM(LEFT(X1))||SP||TRIM(LEFT(X2))||SP||

TRIM(LEFT(X3))

/ CAT函数应用举例 /

data test5;

length a1 a3 $10 a2 a4 8;

a1='aaa';

a2=1234;

a3='bbb';

a4=5678;

line1=cat(of a1-a4);

put line1;

line2=catx(',',of a1-a4);

put line2;

run;

/ 结果如下 /

图片

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 字符串
    +关注

    关注

    1

    文章

    552

    浏览量

    20151
  • VaR
    VaR
    +关注

    关注

    0

    文章

    37

    浏览量

    11131
  • Scan
    +关注

    关注

    0

    文章

    12

    浏览量

    3448
收藏 人收藏

    评论

    相关推荐

    #Python3教程 使用常用字符串方法

    编程语言字符python
    电子技术那些事儿
    发布于 :2022年08月31日 21:07:43

    常用字符函数和方法(1)#Python 常用字符函数和方法(2)#Python

    程序函数python
    未来加油dz
    发布于 :2023年08月27日 00:06:26

    【初级】labview教程每日一教之16+17常用字符操作 (上下)

    16常用字符操作 (上)字符串操作与信息的保存和显示密不可分,而字符串操作运用也是 LabVIEW程序设计的一个难点,因此熟练使用字符串操作函数
    发表于 11-09 12:00

    labview中,如何用字符串索引取出该字符串对应的数值?

    用字符串索引取出数组中每个名字后对应的数值,比如我字符串中输入“李四”,然后可以索引得到“4”这个数值。但是“索引数组”这个函数索引类型必须为数值,我这里需要用字符串索引,从而取出数
    发表于 10-13 23:32

    C语言程序,请问主循环里有调用字符显示函数就不能突现光标显烁吗?

    请问主循环里有调用字符显示函数,就不能突现光标显烁吗?
    发表于 09-06 20:59

    8086微型计算机常用字符编码

    8086微型计算机常用字符编码,深圳大学2016博士研究生招生微机原理考试大纲命题学院/部门(盖章):光电工程学院考试科目代码及名称:2225微机原理一、考试基本要求《微机原理》是理工科计算机教学
    发表于 07-16 08:28

    AVR常用函数介绍

    目录: 1. Character Type Functions - 字符类型函数 2. Standard C Input/Output Functions - 标准输入输出函数 3.
    发表于 03-14 16:40 446次下载

    C语言教程之使用字符函数输入/输出字符

    C语言教程之使用字符函数输入/输出字符,很好的C语言资料,快来学习吧。
    发表于 04-22 17:45 0次下载

    C语言字符串转数字实现方法

    在C/C++语言中没有专门的字符串变量,通常用字符数组来存放字符串。字符串是以“\0”作为结束符。C/C++提供了丰富的字符
    发表于 11-14 17:50 1.3w次阅读

    C语言的字符处理函数

    指针是神奇的,指向整型的指针int *p1,可以操作整型数组int a[];指向字符型的指针char *p2,可以操作字符数组(字符串)char str[];更灵活的是,在函数的传递中
    发表于 07-24 17:37 4次下载
    C语言的<b class='flag-5'>字符</b>串<b class='flag-5'>处理</b><b class='flag-5'>函数</b>

    MySQL常用的三类函数

    经常编写程序或者使用数据库的同学一定体会到函数的重要性,丰富的函数往往能使用户的工作事半功倍。函数能帮助用户做很多事情,比如说字符串的处理
    的头像 发表于 04-16 17:05 1767次阅读
    MySQL<b class='flag-5'>常用</b>的三类<b class='flag-5'>函数</b>

    LabVIEW的常用字符串操作教程免费下载

    字符串操作与信息的保存和显示密不可分,而字符串操作运用也是LabⅥEW程序设计的一个难点,因此熟练使用字符串操作函数是使用LabⅥEW进行编程所必备的能力之
    发表于 08-21 14:51 25次下载
    LabVIEW的<b class='flag-5'>常用字符</b>串操作教程免费下载

    C语言总结_格式化打印函数字符串、运算符

    字符函数的运用、sprintf、sscanf、main标准形参、变量和常量定义、基本数据占用字节数总结、scanf函数输入数据、位运算全面介绍
    的头像 发表于 08-14 09:32 914次阅读

    java switch case 能不能用字符

    Java的switch语句在处理字符串方面有一些限制。在Java 7之前,switch语句只能处理整数类型的表达式,如int或char。但从Java 7开始,Java引入了对字符串的支
    的头像 发表于 11-30 14:46 627次阅读

    labview扫描字符串怎么用

    LabVIEW是一种图形化编程语言,用于开发控制、测量和监控系统。虽然它主要用于工程和科学领域,但也可以用于处理文本和字符串。 在LabVIEW中,可以使用字符处理
    的头像 发表于 12-26 16:58 714次阅读