99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
首頁大數(shù)據(jù)時代SAS中最最最實用的5個字符串處理函數(shù)
SAS中最最最實用的5個字符串處理函數(shù)
2017-06-06
收藏

SAS中最最最實用的5個字符串處理函數(shù)

本文將介紹SAS中處理字符串時最常用的5個函數(shù):

1. SUBSTR函數(shù):用以提取或替換特定位置的字符

2. TRANWRD函數(shù):用以替換特定字符

3. TRANSLATE函數(shù):用以替換字符排列順序

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

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

1、SUBSTR 函數(shù) 

(1). (right of =) Function,提取字符:Substr(s,p,n)從字符串s中的第p個字符開始提取n個字符的子串。

example:

/*從x中提取第3-4個字符*/

data_null_;

x="1234ABCD";

y=substr(x,3,2);

put y=;

run;

輸出: y=34

(2). (left of =) Function,字符替換:Substr(s,p,n)=characters-to-replace,從變量s的p個字符開始替換n個字符

example:

/*從x中將第1-2個字符替換為EF*/

data_null_;

x="1234ABCD";

substr(x,1,2)="EF";

putx=;

run;

輸出:x=EF34ABCD

注意:

1. 必須是從字符變量中提取,對數(shù)值變量不起作用,必須轉(zhuǎn)換為字符變量,如果是數(shù)字變量,在調(diào)用substr函數(shù)時會自動把數(shù)字變量轉(zhuǎn)為字符變量,不過需要注意的是轉(zhuǎn)化為的字符變量采用的是best12.格式。

2. n的長度不能超過p后面的長度,例如s=scorecard,b=Substr(s,5,5)系統(tǒng)會有提示。

3. 如果缺失n的話,SAS則會提取p后面全部字符,如果是替換的話,則不能缺失n。

4. 對于漢字的截取若使用substr函數(shù)將輸出亂碼,使用ksubstr函數(shù)即可,另外,ksubstrb函數(shù)可針對字節(jié)進行截取。

2. TRANWRD函數(shù)

TRANWRD(s,s1,s2):從字符串s中把所有字符串s1替換成字符串s2

example:

/*從x中將字符"AB"替換為"ef"*/

data_null_;

x="ABabCDEFGABCD";

y=tranwrd(x,"AB","ef");

puty=;

run;

輸出:y=efabCDEFGefCD

注意:

TRANWRD函數(shù)的字符串替換區(qū)分大小寫。

3. TRANSLATE函數(shù)

TRANSLATE( to, s, from):將字符串s從from的排序轉(zhuǎn)換成to的排序

example:

/*將x中的字符串逆序輸出*/

data_null_;

x="ABCDE";

y=translate("54321",x,"12345");

puty=;

run;

輸出:y=EDCBA

4、COMPRESS函數(shù)

COMPRESS (,,)
source 指定一個要被移除字符的源字符串。
chars  指定一欄初始字符,默認它是要從source里移除的。
modifiers  指定一個修飾符,函數(shù)的具體功能。如:
a 增加(A - Z, a - z)到初始字符里(chars)。
d 增加數(shù)字到初始字符里(chars)。
f 增加下劃線和字母 (A - Z, a - z) 到初始字符里(chars)。
g 增加圖形字符到初始字符里(chars)。
k 不移除初始字符(chars)而是返回這些字符。
l  增加小寫字母(a - z)。
n 增加數(shù)字、下劃線和字母(A - Z, a - z)。
p 增加標點符號。
s 增加空格,包括空格,水平制表符,垂直制表符,回車符,換行符和換頁符。
t 剪掉尾部空格。
u 增加大寫字母(A - Z)。       
w 增加可印刷的字符。
X 增加十六進制字符

example:

/*從x中將字符"A"及小寫字母剔除*/

data_null_;

x="ABabCDEFGABCD";

y=compress(x,"A","l");

puty=;

run;

輸出:y=BCDEFGBCD

注意:

1. 只有source,移除空格。

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

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

5. CAT函數(shù)

CAT(A,B): 拼接字符串A和B并保留首尾全部空格(同A||B)
CATS(A,B): 拼接字符串A和B并去掉首尾全部空格(同strip(A)||strip(B))
CATX("x",A,B): 拼接字符串A和B并去掉首尾全部空格,并且在字符串之間加上一個指定的字符串"x"(同strip(A)||"x"||strip(B))

CATT(A,B): 拼接字符串A和B并去掉各字符串尾部空格(同trim(A)||trim(B))

example:

data_null_;

a=' a m ';

b=' l e a r n i n g ';

c=' S A S ';

s1=cat(a,b,c);

s2=cats(a,b,c);

s3=catx('_',a,b,c);

s4=catt('I',a,b,c);

puts1=/s2=/s3=/s4=;

run;

輸出:

s1=a m  l e a r n i n g  S A S

s2=a ml e a r n i n gS A S

s3=a m_l e a r n i n g_S A S

s4=I a m l e a r n i n g S A S


推薦學習書籍
《CDA一級教材》適合CDA一級考生備考,也適合業(yè)務及數(shù)據(jù)分析崗位的從業(yè)者提升自我。完整電子版已上線CDA網(wǎng)校,累計已有10萬+在讀~

免費加入閱讀:https://edu.cda.cn/goods/show/3151?targetId=5147&preview=0

數(shù)據(jù)分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數(shù)據(jù)分析師資訊
更多

OK
客服在線
立即咨詢
客服在線
立即咨詢
') } function initGt() { var handler = function (captchaObj) { captchaObj.appendTo('#captcha'); captchaObj.onReady(function () { $("#wait").hide(); }).onSuccess(function(){ $('.getcheckcode').removeClass('dis'); $('.getcheckcode').trigger('click'); }); window.captchaObj = captchaObj; }; $('#captcha').show(); $.ajax({ url: "/login/gtstart?t=" + (new Date()).getTime(), // 加隨機數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調(diào)用 initGeetest 進行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調(diào),回調(diào)的第一個參數(shù)驗證碼對象,之后可以使用它調(diào)用相應的接口 initGeetest({ // 以下 4 個配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺檢測極驗服務器是否宕機 new_captcha: data.new_captcha, // 用于宕機時表示是新驗證碼的宕機 product: "float", // 產(chǎn)品形式,包括:float,popup width: "280px", https: true // 更多配置參數(shù)說明請參見:http://docs.geetest.com/install/client/web-front/ }, handler); } }); } function codeCutdown() { if(_wait == 0){ //倒計時完成 $(".getcheckcode").removeClass('dis').html("重新獲取"); }else{ $(".getcheckcode").addClass('dis').html("重新獲取("+_wait+"s)"); _wait--; setTimeout(function () { codeCutdown(); },1000); } } function inputValidate(ele,telInput) { var oInput = ele; var inputVal = oInput.val(); var oType = ele.attr('data-type'); var oEtag = $('#etag').val(); var oErr = oInput.closest('.form_box').next('.err_txt'); var empTxt = '請輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請輸入正確的'+oInput.attr('placeholder')+'!'; var pattern; if(inputVal==""){ if(!telInput){ errFun(oErr,empTxt); } return false; }else { switch (oType){ case 'login_mobile': pattern = /^1[3456789]\d{9}$/; if(inputVal.length==11) { $.ajax({ url: '/login/checkmobile', type: "post", dataType: "json", data: { mobile: inputVal, etag: oEtag, page_ur: window.location.href, page_referer: document.referrer }, success: function (data) { } }); } break; case 'login_yzm': pattern = /^\d{6}$/; break; } if(oType=='login_mobile'){ } if(!!validateFun(pattern,inputVal)){ errFun(oErr,'') if(telInput){ $('.getcheckcode').removeClass('dis'); } }else { if(!telInput) { errFun(oErr, errTxt); }else { $('.getcheckcode').addClass('dis'); } return false; } } return true; } function errFun(obj,msg) { obj.html(msg); if(msg==''){ $('.login_submit').removeClass('dis'); }else { $('.login_submit').addClass('dis'); } } function validateFun(pat,val) { return pat.test(val); }