0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

SAS:常用字符處理函數(shù)介紹

冬至子 ? 來源:小高的SAS學(xué)習(xí)筆記 ? 作者:小高筆記 ? 2023-05-19 10:15 ? 次閱讀

1.SCAN函數(shù):從字符表達式s中搜取給定的n個單詞

WORD = SCAN(source,n,delimiters );

(1)如果n為負數(shù),則SCAN選擇字符串中從字符串末尾開始的單詞。如果|n|大于字符串中的字?jǐn)?shù),則SCAN返回一個空白值。

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

/ SCAN函數(shù)應(yīng)用舉例 /

data test1;

name='john smith';

firstname = scan(name,1);

lastname = scan(name,2);

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

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

run;

/ 結(jié)果如下: /

圖片

2.INDEX函數(shù):搜索字符參數(shù)

如果找到字符參數(shù),則返回它在字符值中的位置,如果找不到,則返回0。

INDEX = INDEX(source, except);

Source: 待查找的字符變量.

Except: 要查找的字符參數(shù)

/ INDEX函數(shù)應(yīng)用舉例 /

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;

/ 結(jié)果如下: /

圖片

補充:大小寫設(shè)置

轉(zhuǎn)變所有的字母:

varu=upcase(argument);

varl=lowcase(argument);

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

3.FIND函數(shù):在您指定的字符串中搜索特定的字符子字符串

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

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

substring是要在字符串中搜索的字符串。返回substring首次在string中出現(xiàn)的位置,若未找到,則返回0。

startpos指定從 string的何處開始搜索substring,正值從左至右,負值反向。

Modifier=I,搜索時忽略大小寫,默認(rèn)區(qū)分大小寫。

/ FIND函數(shù)應(yīng)用舉例 /

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);/*將字符串轉(zhuǎn)換為大寫*/

pos5=index(string5,'CASE');

put 'pos5=' pos5;

run;

/ 結(jié)果如下: /

圖片

然而兩類Function之間不同的是:FIND類Function有一些INDEX類Function所不具有的功能,包括:

(1)FIND類可以檢索所檢索目標(biāo)的”首次“出現(xiàn)位置;

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

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

4.COMPRESS函數(shù):用以體剔除或保留特定字符

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

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

Chars指定一欄初始字符,默認(rèn)它是從string里移除的

Modifiers指定一個修飾語,函數(shù)的具體功能。如:

圖片

/ COMPRESS函數(shù)應(yīng)用舉例 /

data test4;

string1="  Sunlights";

new1=compress(string1);

new2=compress(string1,'S');

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

new4=compress(string1,"s","U");/*從源字符串中將字符"s"及大寫字母剔除*/

run;

/ 結(jié)果如下: /

圖片

補充:

1.只有string,移除空格。

2.只有string,chars時,從source中移除chars。

  1. string,chars,modifiers都有時,modifiers中的K決定保留還是移除。無K時,移除chars加上modifiers指定的。

5. CAT函數(shù):用以拼接字符串

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

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

CATS(string1, ... , stringn):移除前后空格連接 trim刪除右側(cè)空格

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

/*代碼相當(dāng)于: */

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函數(shù)應(yīng)用舉例 /

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;

/ 結(jié)果如下 /

圖片

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 字符串
    +關(guān)注

    關(guān)注

    1

    文章

    579

    瀏覽量

    20537
  • VaR
    VaR
    +關(guān)注

    關(guān)注

    0

    文章

    39

    瀏覽量

    11354
  • Scan
    +關(guān)注

    關(guān)注

    0

    文章

    12

    瀏覽量

    3561
收藏 人收藏

    評論

    相關(guān)推薦

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

    編程語言字符python
    電子技術(shù)那些事兒
    發(fā)布于 :2022年08月31日 21:07:43

    常用字符函數(shù)和方法(1)#Python 常用字符函數(shù)和方法(2)#Python

    程序函數(shù)python
    未來加油dz
    發(fā)布于 :2023年08月27日 00:06:26

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

    16常用字符操作 (上)字符串操作與信息的保存和顯示密不可分,而字符串操作運用也是 LabVIEW程序設(shè)計的一個難點,因此熟練使用字符串操作函數(shù)
    發(fā)表于 11-09 12:00

    labview中,如何用字符串索引取出該字符串對應(yīng)的數(shù)值?

    用字符串索引取出數(shù)組中每個名字后對應(yīng)的數(shù)值,比如我字符串中輸入“李四”,然后可以索引得到“4”這個數(shù)值。但是“索引數(shù)組”這個函數(shù)索引類型必須為數(shù)值,我這里需要用字符串索引,從而取出數(shù)
    發(fā)表于 10-13 23:32

    8086微型計算機常用字符編碼

    ?8086微型計算機常用字符編碼,深圳大學(xué)2016博士研究生招生微機原理考試大綱命題學(xué)院/部門(蓋章):光電工程學(xué)院考試科目代碼及名稱:2225微機原理一、考試基本要求《微機原理》是理工科計算機教學(xué)
    發(fā)表于 07-16 08:28

    AVR常用函數(shù)介紹

    目錄: 1. Character Type Functions - 字符類型函數(shù) 2. Standard C Input/Output Functions - 標(biāo)準(zhǔn)輸入輸出函數(shù) 3.
    發(fā)表于 03-14 16:40 ?446次下載

    C語言教程之使用字符函數(shù)輸入/輸出字符

    C語言教程之使用字符函數(shù)輸入/輸出字符,很好的C語言資料,快來學(xué)習(xí)吧。
    發(fā)表于 04-22 17:45 ?0次下載

    C語言字符串轉(zhuǎn)數(shù)字實現(xiàn)方法

    在C/C++語言中沒有專門的字符串變量,通常用字符數(shù)組來存放字符串。字符串是以“\0”作為結(jié)束符。C/C++提供了豐富的字符
    發(fā)表于 11-14 17:50 ?1.3w次閱讀

    C語言的字符處理函數(shù)

    指針是神奇的,指向整型的指針int *p1,可以操作整型數(shù)組int a[];指向字符型的指針char *p2,可以操作字符數(shù)組(字符串)char str[];更靈活的是,在函數(shù)的傳遞中
    發(fā)表于 07-24 17:37 ?4次下載
    C語言的<b class='flag-5'>字符</b>串<b class='flag-5'>處理</b><b class='flag-5'>函數(shù)</b>

    MySQL常用的三類函數(shù)

    經(jīng)常編寫程序或者使用數(shù)據(jù)庫的同學(xué)一定體會到函數(shù)的重要性,豐富的函數(shù)往往能使用戶的工作事半功倍。函數(shù)能幫助用戶做很多事情,比如說字符串的處理、
    的頭像 發(fā)表于 04-16 17:05 ?1957次閱讀
    MySQL<b class='flag-5'>常用</b>的三類<b class='flag-5'>函數(shù)</b>

    LabVIEW的常用字符串操作教程免費下載

    字符串操作與信息的保存和顯示密不可分,而字符串操作運用也是LabⅥEW程序設(shè)計的一個難點,因此熟練使用字符串操作函數(shù)是使用LabⅥEW進行編程所必備的能力之
    發(fā)表于 08-21 14:51 ?26次下載
    LabVIEW的<b class='flag-5'>常用字符</b>串操作教程免費下載

    C語言總結(jié)_格式化打印函數(shù)、字符串、運算符

    字符函數(shù)的運用、sprintf、sscanf、main標(biāo)準(zhǔn)形參、變量和常量定義、基本數(shù)據(jù)占用字節(jié)數(shù)總結(jié)、scanf函數(shù)輸入數(shù)據(jù)、位運算全面介紹
    的頭像 發(fā)表于 08-14 09:32 ?1140次閱讀

    java switch case 能不能用字符

    Java的switch語句在處理字符串方面有一些限制。在Java 7之前,switch語句只能處理整數(shù)類型的表達式,如int或char。但從Java 7開始,Java引入了對字符串的支
    的頭像 發(fā)表于 11-30 14:46 ?2084次閱讀

    MATLAB信號處理常用函數(shù)詳解

    MATLAB是一款功能強大的數(shù)學(xué)軟件,尤其在信號處理領(lǐng)域,它提供了眾多的函數(shù)和工具箱,使得信號的分析、處理、仿真變得簡單而高效。本文將詳細介紹MATLAB在信號
    的頭像 發(fā)表于 05-17 14:31 ?2318次閱讀

    labview中常用字符函數(shù)有哪些?

    ) : 功能:該函數(shù)用于返回字符串所包含的字符個數(shù)。 應(yīng)用場景:常用于需要計算字符串長度的場景,如文件命名、數(shù)據(jù)
    的頭像 發(fā)表于 09-04 15:43 ?794次閱讀