我们如何从字符串创建列,其中'\'用于分隔SAS中的子字符串?

时间:2016-03-29 00:34:30

标签: sas

我一直在尝试基于子字符串在sas中创建列。我需要创建一个存储在由'\'分隔的列中的每个子字符串的coloumn。例如: -

prexa \医疗信息\医疗字母02是存储在一列中的单个字符串。我想有三列col1: prexa col2:医疗信息和Col3:医疗。我是sas的新手,已经尝试但无法继续。

此列的数值也没有子字符串。

content of coloumn

1 个答案:

答案 0 :(得分:1)

不完全确定这是你所追求的,但可能会让你走上正轨:

data have;
  informat str $60.;
  infile datalines dlm = "," truncover;
  input str;
  datalines;
prexa\Medical Information\Medical
some\other\string
run;

data want(drop = i);
  set have;
  array column(10) $ 32;
  do i = 1 to (count(str, "\") + 1);
    column(i) = scan(str, i, "\");
  end;
run;

在ARRAY语句中,将10替换为您认为可能需要的最大列数,将32替换为任何列的最大长度。

结果:

Resulting dataset