【发布时间】:2016-09-29 04:22:02
【问题描述】:
我正在尝试将我读入的文本文件名转换为 SAS 版本 9.0 中的合法数据集名称。
我使用的代码是这样的(其中 fnames 是一个包含文本文件名的数据集):
data fnames;
set fnames;
filename2 = scan(filename, 1, '.');
filename3 = tranwrd(filename2, "_", "-");
filename4 = strip(filename3);
filename5 = tranwrd(filename4, " ", "-");
/*filename4 = compress(filename3);*/
filename4 = cats('_', filename4);
drop filename2 filename3;
run;
我希望它用破折号替换我的文件名中的任何空格,而不是文件名末尾的尾随空格(字段长度和格式都是 200 美元。但字符串长度本身是可变的。我的输入看起来像这样:
1080528-19-08-2016-Man Utd-v-Southampton.txt
...我的输出如下所示:
1080528-19-08-2016-Man-Utd-v-Southampton----------------------------------------------------------------------------------------------------------------------------------------------------------------
...什么时候应该是这样的:
1080528-19-08-2016-Man-Utd-v-Southampton
谁能告诉我我需要改变什么?
谢谢
【问题讨论】:
-
是否要从文件名中删除 .txt 扩展名?
-
是的,非常感谢
标签: sas