我不明白为什么 C2 中的第二个和第三个观察结果在复制的字符串和重复的字符串之间只有一个空格(显示为“XXX XXX”和“Y Y”),而“XXX”中有 5 个尾随空格'Y' 中有 7 个尾随空格?它与 LC2 中的结果冲突吗?
DATA EXAMPLE1;
INPUT GROUP @10 STRING $3.;
LEFT = 'X ';
RIGHT = ' X';
C1 = SUBSTR(GROUP,1,2) ;
C2 = REPEAT(GROUP,1);
LGROUP = LENGTH(GROUP) ;
LSTRING = LENGTH(STRING) ;
LLEFT = LENGTH(LEFT);
LRIGHT = LENGTH(RIGHT);
LC1 = LENGTH(C1);
LC2 = LENGTH(C2);
DATALINES;
ABCDEFGH 123
XXX 4
Y 5 ;
您发布了 ODS 输出的 PHOTOGRPAH。你无法从其中任何一个中得知有关空间的任何信息。打开普通的旧列表输出并查看它。
所以假设你运行了这样的东西:
data example;
LENGTH GROUP $8;
INPUT GROUP @10 STRING $3.;
LEFT = 'X ';
RIGHT = ' X';
C1 = SUBSTR(GROUP,1,2) ;
C2 = REPEAT(GROUP,1);
LGROUP = LENGTH(GROUP) ;
LSTRING = LENGTH(STRING) ;
LLEFT = LENGTH(LEFT);
LRIGHT = LENGTH(RIGHT);
LC1 = LENGTH(C1);
LC2 = LENGTH(C2);
DATALINES;
ABCDEFGH 123
XXX 4
Y 5
;
输出应如下所示:
Obs GROUP STRING LEFT RIGHT C1 C2 LGROUP LSTRING LLEFT LRIGHT LC1 LC2
1 ABCDEFGH 123 X X AB ABCDEFGHABCDEFGH 8 3 1 5 2 16
2 XXX X X XX XXX XXX 3 1 1 5 2 11
3 Y X X Y Y Y 1 1 1 5 1 9
但是 ODS 会破坏输出,使其看起来“漂亮”。
如果添加,您会在 SAS 日志中看到什么
put group $quote.;