首页 > 解决方案 > SAS 将数字连接到字符串中列出的每个项目

问题描述

这可能是一个简单的问题,但我就是想不出解决方案。

假设现在我有一个名字列表说

%let name=helen mark anne lili;

现在我想在每个名字的末尾添加数字 2,我希望从中得到

new_name = helen2 mark2 anne2 lili2

我尝试使用 CAT 功能,但它不起作用

%let new=cat(&name.,'2');

谁能帮帮我?谢谢!

标签: sas

解决方案


对于列表正确分隔和间隔的情况,您可以使用TRANSTR.

%let name=helen mark anne lili;
%let name2 = %sysfunc(transtrn(&name%str( ),%str( ),2%str( )));

%put &=name;
%put &=name2;

日志

NAME=helen mark anne lili
NAME2=helen2 mark2 anne2 lili2

推荐阅读