1
所以在SAS中,我有一個長度爲10個字符的變量fooword
。我想做到的是,當應用自定義格式的每兩個符號後顯示如何將短劃線符號插入字符變量(SAS)?
format fooword $fooformat.;
破折號符號(從右到左)。換句話說BERRY會是什麼樣子B-ER-RY和草莓會是什麼樣子ST-RA-WB-ER-RY。
當然,我可以創建一個新的更長的變量,並通過使用一堆substr()
添加破折號,但看起來像在我眼中的一個可怕的解決方案。
所以......
proc format;
value $fooformat
???
;
run;
我會 - 愉快地 - 驚訝如果這是可能的。自定義格式是轉換爲靜態值(靜態as-in:預定義)。如果你希望你的功能可以靈活使用,最好考慮編寫你的自定義函數或者一個小宏。如果你只需要一次,就把它寫成數據步驟(的一部分)。 – mvherweg
我不認爲你可以用一種格式來做到這一點,但我敢打賭你可以用正則表達式。找到正確的正則表達式,在每個雙字符序列後插入破折號,然後在SAS中使用PRXCHANGE函數。對不起,我自己並不知道正則表達式,但我敢打賭,如果你修改了這個問題並添加了「正則表達式」標籤,你會得到很多答案。 – BellevueBob