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