Sas:如何按分隔符分割字符串
您可以使用 SAS 中的scan()函数根据特定分隔符快速分割字符串。
下面的例子展示了如何在实际中使用这个功能。
示例:在 SAS 中按分隔符分割字符串
假设我们在 SAS 中有以下数据集:
/*create dataset*/ data my_data1; input name $25.; datalines ; Andy_Lincoln_Bernard Barry_Michael Chad_Simpson_Smith Derrick_Parson_Henry Eric_Miller Frank_Giovanni_Goodwill ; run ; /*print dataset*/ proc print data =my_data1;
我们可以使用以下代码将名称字符串快速拆分为三个单独的字符串:
/*create second dataset with name split into three columns*/ data my_data2; set my_data1; name1= scan (name, 1 , '_'); name2= scan (name, 2 , '_'); name3= scan (name, 3 , '_'); run ; /*view second dataset*/ proc print data =my_data2;
请注意,名称列字符串已分为三个新列。
对于只有一个分隔符的名称, name3列中的值为空。
请注意,我们还可以使用drop函数从新数据集中删除原始名称列:
/*create second dataset with name split into three columns, drop original name*/ data my_data2; set my_data1; name1= scan (name, 1 , '_'); name2= scan (name, 2 , '_'); name3= scan (name, 3 , '_'); dropname ; run ; /*view second dataset*/ proc print data =my_data2;
其他资源
以下教程解释了如何在 SAS 中执行其他常见任务: