重新排列SAS上的文本

时间:2017-08-09 13:46:13

标签: sas

我找不到反转文本字符串的方法。

例如,我想颠倒这些:

  • MMMM121231M34成为43M132121MMMM
  • MM1M11M1成为1M11M1MM
  • 1111213111成为1113121111

1 个答案:

答案 0 :(得分:1)

从你的例子来看,“重新排列”的意思实际上是“反向”。 在这种情况下,您在SAS中获得了非常方便的reverse()功能。

在上下文中使用:

data test;
  length text $32;
  infile datalines;
  input text $;
  result=reverse(strip(text));
datalines;
MMMM121231M34
MM1M11M1
1111213111
;
run;

编辑@ Joe的请求:在上面的特定示例中,我通过为test变量设置32个字符的长度来创建text数据集。因此,当从datalines读取值时,这些值将填充空白,最多为32个字符。因此,当反转该值时,结果会在开始时有很多空白,然后是您要查找的实际值。通过添加strip函数,您可以在撤消之前从text的值中删除多余的空格,只保留结果中的“实际”值。