Расщепление строк в SAS - PullRequest
0 голосов
/ 25 октября 2018

У меня есть значения в переменной, которые выглядят следующим образом:

B1234
A0345
C65405

Я хочу разделить его так, чтобы оно отображалось в виде первых 3 символов, за которыми следует все остальное, как показано ниже.

B1234: B12 34
A0345: A03 45
C65405: C65 405

Есть ли способ сделать это в SAS

Спасибо!

Ответы [ 3 ]

0 голосов
/ 25 октября 2018

Используйте substr() и объедините их.

data want;
    var = 'B1234';
    split = catx(' ', substr(var, 1, 3), substr(var, 4) );
run;
0 голосов
/ 25 октября 2018

Я думаю, что решение, предложенное Stu с substr, является самым простым, но вы также можете сделать это с помощью регулярных выражений:

result = prxChange('s/^(.{3})(.*)/$1 $2/', -1, trim(source));
0 голосов
/ 25 октября 2018

Используйте оператор WHERE или оператор IF

where item_code like 'B1%'

или

if item_code =: 'B1'

Существуют другие способы, но вы не объяснили ситуацию более подробно

...