SAS: scan函數的修飾語(modifier)說明,另外類比compress function;countw function和countc函數與scan函數的用法比較


SCAN(string, count <, character-list <, modifier>>)
count為負,從右往左數。或者使用b修飾語,將從右向左;
character-list,默認如果超過一個字符,則每個字符都是一個分隔符。如果使用“K”修飾語,則除了list中列出來的字符,其他字符都是分隔符;
I修飾語,忽視分隔符的大小寫;
M修飾語,接連兩個相同的分隔符,或者首尾的分隔符,都會被當作單個分隔符處理。如果沒有M,兩個相同的分隔符會被當作一個分隔符。和O修飾語一起在循環語句中使用,更有效率。
R修飾語,去掉選出的子字符串左右兩邊的空格。
Q修飾語,忽略在成對引號里面的分隔符。
如果QR一起使用,則刪除返回字符串左右空格,如果以引號開始,則也刪除一層引號。
D修飾語,character-list列為空,modifier為D,則將所有的數字作為分隔符,如果是KD,則將除數字外其他字符作為分隔符。
A修飾語,character-list列為空,modifier為D,則將所有的字母作為分隔符。
Compress(var,’.’ ,’kd’)壓縮,k是除掉列出的其他都壓縮。所以除了數字和 ’.’,其他都被壓縮。
Compress(var,’.’ ,’d’)壓縮,沒有k修飾語。所以數字和 ’.’ 被列出來了,都應該被壓縮。
Countw函數,與scan函數用法相似,以分隔符來數string可以被分為幾個部分。
Countc函數,書寫格式相同,作用不同,查找charlist中每個字符在string中一共出現的次數,其中v修飾語表示查找charlist之外(包括空格)的字符數量,與t一起使用,則可以忽視尾部空格的數量(中間空格仍然存在被計數)。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM