在SAS中将句点作为字符值读取

在SAS中将句点作为字符值读取,sas,Sas,我将句点“.”作为字符变量的值读取,但它将其作为空白值读取 data output1; input @1 a $1. @2 b $1. @3 c $1.; datalines; !.. 1.3 ; run; Output Required ------ -------- A B C A B C ! ! . . 1 3 1 . 3 请帮我读一段这样的经文。我不知道为什么它不起作用。 但如果你不想弄清楚为

我将句点“.”作为字符变量的值读取,但它将其作为空白值读取

data output1;
input @1 a $1. @2 b $1.  @3 c $1.;
datalines;
!..
1.3
;
run;

Output       Required
------       --------
A  B  C      A  B  C
!            !  .  .
1     3      1  .  3

请帮我读一段这样的经文。

我不知道为什么它不起作用。 但如果你不想弄清楚为什么它不起作用,而只是想做点什么:把它作为一个长度为3美元的变量读入。然后在下一步;使用substr拆分它

例如:


输出由所使用的信息决定($w.informat在您的情况下,由代码中的
$1.
请求,
$1.
是所有信息定义中的第一个,变量的长度定义是其副产品)

使用$char。提供所需结果的信息

data output1;
input @1 a $char1. @2 b $char1.  @3 c $char1.;
datalines;
!..
1.3
;
run;
从文件:

$w Informat 美元w。informat在存储文本之前修剪前导空格并左对齐值。此外,如果字段仅包含空格和单个句点,$w。将句点转换为空白,因为它将句点解释为缺少的值。美元w。informat将字段中的两个或多个句点视为字符数据

$CHARw。告密者
美元的CHARw。informat不会在存储值之前修剪前导空格和尾随空格,也不会将输入数据字段中的单个句点转换为空格。

感谢您的输入。但我需要把它当作一个单独的字符来读,而我却做不到。
data output1;
input @1 a $char1. @2 b $char1.  @3 c $char1.;
datalines;
!..
1.3
;
run;